本文整理汇总了C++中sleepmgr_init函数的典型用法代码示例。如果您正苦于以下问题:C++ sleepmgr_init函数的具体用法?C++ sleepmgr_init怎么用?C++ sleepmgr_init使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了sleepmgr_init函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: main
/*! \brief Main function. Execution starts here.
*/
int main(void)
{
#if SAMD21 || SAML21
system_init();
#else
sysclk_init();
board_init();
#endif
irq_initialize_vectors();
cpu_irq_enable();
// Initialize the sleep manager
sleepmgr_init();
ui_init();
// Start USB dual mode which will start the correct mode (device or host)
// corresponding at USB ID signal.
uhc_start();
// The main loop manages only the power mode
// because the USB stack is full interrupt driven.
while (true) {
sleepmgr_enter_sleep();
}
}
开发者ID:InSoonPark,项目名称:asf,代码行数:29,代码来源:main.c
示例2: main
int main (void)
{
irq_initialize_vectors();
cpu_irq_enable();
system_init();
sleepmgr_init();
HAL_usb_init();
module_in = xQueueCreate(MODULE_QUEUE_LENGTH , MODULE_QUEUE_ITEM_SIZE);
module_out = xQueueCreate(MODULE_QUEUE_LENGTH , MODULE_QUEUE_ITEM_SIZE);
if( module_in == NULL || module_out == NULL){
/* The queue could not be created. */
while(1);
}
// Create tasks
xTaskCreate(&receiver_stream, (const char *)"receiver_stream", RECEIVER_STREAM_STACK_SIZE, NULL , RECEIVER_STREAM_PRIORITY , NULL);
xTaskCreate(&sender_stream, (const char *)"sender_stream", SENDER_STREAM_STACK_SIZE, NULL , SENDER_STREAM_PRIORITY , NULL);
xTaskCreate(&modules, (const char *)"modules", MODULES_STACK_SIZE, NULL , MODULES_PRIORITY , NULL);
//Start FreeRTOS scheduler
vTaskStartScheduler();
/* Code should never get here */
while (1) {
}
}
开发者ID:HackerLoop,项目名称:rotonde-samd21-kizbat,代码行数:30,代码来源:main.c
示例3: v2x_board_init
/* This function is meant to contain board-specific initialization code
* for, e.g., the I/O pins. The initialization can rely on application-
* specific board configuration, found in conf_board.h.
*/
void v2x_board_init(void)
{
irq_initialize_vectors();
pmic_init();
sysclk_init(); //configure clock sources for core and USB
sleepmgr_init(); // Initialize the sleep manager
ioport_init(); //Initializes the IOPORT service
pin_init(); //whole chip pin init, modes and initial conditions
spi_start(); //start SPI driver
PWR_init(); //sets SR to default states - holds power up
cpu_irq_enable();
eeprom_init(); //verifies eeprom safe for use
menu_init(); //loads menu settings
time_init(); //starts the RTC
button_init(); //init button stuffs
ACL_init(); //configures, but does not start sampling
GSM_usart_init(); //starts direct serial channel to the SIM module
CAN_uart_start(); //starts direct serial channel to the ELM module
canbus_serial_routing(AVR_ROUTING); //cause the serial 3-state buffer to route the serial path from the ELM to the FTDI
udc_start(); //start stack and vbus monitoring
PWR_hub_start(); //connect the hub to the computer
//autostart all systems
delay_ms(500);
GSM_modem_init();
CAN_elm_init();
ACL_set_sample_on();
PWR_host_start();
}
开发者ID:PDXostc,项目名称:rvi_v2x_firmware,代码行数:33,代码来源:V2X_init.c
示例4: main
/*! \brief Main function. Execution starts here.
*/
int main(void)
{
irq_initialize_vectors();
cpu_irq_enable();
// Initialize the sleep manager
sleepmgr_init();
#if !SAM0
sysclk_init();
board_init();
#else
system_init();
#endif
ui_init();
ui_powerdown();
// Start USB stack to authorize VBus monitoring
udc_start();
// The main loop manages only the power mode
// because the USB management is done by interrupt
while (true) {
sleepmgr_enter_sleep();
}
}
开发者ID:Mazetti,项目名称:asf,代码行数:29,代码来源:main.c
示例5: prvSetupHardware
static void prvSetupHardware( void )
{
extern void SystemCoreClockUpdate( void );
struct eic_line_config xEICLineConfiguration;
/* Configure the external interrupt controller so button pushes can
generate interrupts. */
xEICLineConfiguration.eic_mode = EIC_MODE_EDGE_TRIGGERED;
xEICLineConfiguration.eic_edge = EIC_EDGE_FALLING_EDGE;
xEICLineConfiguration.eic_level = EIC_LEVEL_LOW_LEVEL;
xEICLineConfiguration.eic_filter = EIC_FILTER_DISABLED;
xEICLineConfiguration.eic_async = EIC_ASYNCH_MODE;
eic_enable( EIC );
eic_line_set_config( EIC, GPIO_PUSH_BUTTON_EIC_LINE, &xEICLineConfiguration );
eic_line_set_callback( EIC, GPIO_PUSH_BUTTON_EIC_LINE, prvButtonISR, EIC_5_IRQn, 0 );
eic_line_enable( EIC, GPIO_PUSH_BUTTON_EIC_LINE );
/* ASF function to setup clocking. */
sysclk_init();
/* Ensure all priority bits are assigned as preemption priority bits. */
NVIC_SetPriorityGrouping( 0 );
/* Atmel library function to setup for the evaluation kit being used. */
board_init();
/* Initialise the sleep manager in case the low power demo is being used. */
sleepmgr_init();
}
开发者ID:AlexShiLucky,项目名称:freertos,代码行数:29,代码来源:main.c
示例6: main
/*! \brief Main function. Execution starts here.
*/
int main(void)
{
irq_initialize_vectors();
cpu_irq_enable();
// Initialize the sleep manager
sleepmgr_init();
sysclk_init();
board_init();
ui_init();
ui_powerdown();
// Start USB stack to authorize VBus monitoring
udc_start();
if (!udc_include_vbus_monitoring()) {
// VBUS monitoring is not available on this product
// thereby VBUS has to be considered as present
main_vbus_action(true);
}
// The main loop manages only the power mode
// because the USB management is done by interrupt
while (true) {
sleepmgr_enter_sleep();
}
}
开发者ID:xin3liang,项目名称:device_google_accessory_adk2012_demo,代码行数:29,代码来源:main.c
示例7: main
/*! \brief Main function. Execution starts here.
*/
int main(void)
{
irq_initialize_vectors();
cpu_irq_enable();
/* Initialize the sleep manager */
sleepmgr_init();
#if !SAMD21 && !SAMR21
sysclk_init();
board_init();
#else
system_init();
#endif
ui_init();
ui_powerdown();
/* Start USB stack to authorize VBus monitoring */
udc_start();
/* The main loop manages only the power mode
* because the USB management is done by interrupt
*/
while (true) {
sleepmgr_enter_sleep();
if (main_b_phdc_enable) {
if (ieee11073_skeleton_process()) {
ui_association(true); /* Association Ok */
} else {
ui_association(false); /* No association */
}
}
}
}
开发者ID:marekr,项目名称:asf,代码行数:35,代码来源:main.c
示例8: main
/**
* \brief Run low power demo
*
* This function initializes the XMEGA to the least power consuming state,
* before initializing the sleep manager interrupts on switchports.
* The device is then put to sleep, and the sleep mode is configured by the
* interrupt routines.
*/
int main(void)
{
board_init();
sysclk_init();
lowpower_init();
/* Initialize the sleep manager. */
sleepmgr_init();
/* Enable interrupts from switchports on
* low level to sense all interrupts */
pmic_init();
SWITCHPORT0.INTCTRL = SWITCHPORT_INT_LEVEL;
SWITCHPORT1.INTCTRL = SWITCHPORT_INT_LEVEL;
SWITCHPORT0.INT0MASK = SWITCHMASK0;
SWITCHPORT1.INT0MASK = SWITCHMASK1;
ioport_configure_port_pin(&SWITCHPORT0,
SWITCHMASK0, IOPORT_LEVEL | IOPORT_PULL_UP);
ioport_configure_port_pin(&SWITCHPORT1,
SWITCHMASK1, IOPORT_LEVEL | IOPORT_PULL_UP);
cpu_irq_enable();
/* Start in active mode */
sleepmgr_lock_mode(SLEEPMGR_ACTIVE);
/* Go to sleep, sleep modes are configured by interrupt routines. */
while (1) {
sleepmgr_enter_sleep();
}
}
开发者ID:AndreyMostovov,项目名称:asf,代码行数:38,代码来源:low_power_demo.c
示例9: main
/*! \brief Main function. Execution starts here.
*/
int main(void)
{
#if SAMD21 || SAML21 || SAMDA1
system_init();
#else
sysclk_init();
board_init();
#endif
irq_initialize_vectors();
cpu_irq_enable();
// Initialize the sleep manager
sleepmgr_init();
ui_init();
// Start USB host stack
uhc_start();
// The USB management is entirely managed by interrupts.
// As a consequence, the user application does only have to play with the power modes.
while (true) {
sleepmgr_enter_sleep();
}
}
开发者ID:Gr3yR0n1n,项目名称:SAINTCON-2015-Badge,代码行数:27,代码来源:main.c
示例10: main
int main(void)
{
pmic_init();
board_init();
sysclk_init();
sleepmgr_init();
cpu_irq_enable();
#if (BOARD == XMEGA_A3BU_XPLAINED)
/* The status LED must be used as LED2, so we turn off
* the green led which is in the same packaging. */
ioport_set_pin_high(LED3_GPIO);
#endif
/*
* Unmask clock for TIMER_EXAMPLE
*/
tc_enable(&TIMER_EXAMPLE);
/*
* Configure interrupts callback functions for TIMER_EXAMPLE
* overflow interrupt, CCA interrupt and CCB interrupt
*/
tc_set_overflow_interrupt_callback(&TIMER_EXAMPLE,
example_ovf_interrupt_callback);
tc_set_cca_interrupt_callback(&TIMER_EXAMPLE,
example_cca_interrupt_callback);
tc_set_ccb_interrupt_callback(&TIMER_EXAMPLE,
example_ccb_interrupt_callback);
/*
* Configure TC in normal mode, configure period, CCA and CCB
* Enable both CCA and CCB channels
*/
tc_set_wgm(&TIMER_EXAMPLE, TC_WG_NORMAL);
tc_write_period(&TIMER_EXAMPLE, TIMER_EXAMPLE_PERIOD);
tc_write_cc(&TIMER_EXAMPLE, TC_CCA, TIMER_EXAMPLE_PERIOD / 2);
tc_write_cc(&TIMER_EXAMPLE, TC_CCB, TIMER_EXAMPLE_PERIOD / 4);
tc_enable_cc_channels(&TIMER_EXAMPLE,(enum tc_cc_channel_mask_enable_t)(TC_CCAEN | TC_CCBEN));
/*
* Enable TC interrupts (overflow, CCA and CCB)
*/
tc_set_overflow_interrupt_level(&TIMER_EXAMPLE, TC_INT_LVL_LO);
tc_set_cca_interrupt_level(&TIMER_EXAMPLE, TC_INT_LVL_LO);
tc_set_ccb_interrupt_level(&TIMER_EXAMPLE, TC_INT_LVL_LO);
/*
* Run TIMER_EXAMPLE at TIMER_EXAMPLE_PERIOD(31250Hz) resolution
*/
tc_set_resolution(&TIMER_EXAMPLE, TIMER_EXAMPLE_PERIOD);
do {
/* Go to sleep, everything is handled by interrupts. */
sleepmgr_enter_sleep();
} while (1);
}
开发者ID:Gr3yR0n1n,项目名称:SAINTCON-2015-Badge,代码行数:59,代码来源:tc_example1.c
示例11: main
/*! \brief Main File Section:
* - Initialization (CPU, Controller Task,... )
* - Main loop with task management (ADC, DAC, CAN and GUI)
*/
int main(void)
{
irq_initialize_vectors();
/* Initialize the board.
* The board-specific conf_board.h file contains the configuration of
* the board initialization.
*/
board_init();
/* Initialize the clocks.
* The clock-specific conf_clocks.h file contains the configuration of
* the clocks initialization.
*/
sysclk_init();
// Initialize the sleep manager
sleepmgr_init();
sleepmgr_lock_mode(SLEEPMGR_IDLE);
/* Initialize the required Task.
* - Initialize the DAC task to start the signal generator,
* - Initialize the ADC task to start the scope acquisition,
* - Initialize the Noise Task to add digital noise to the signal,
* - Initialize the Filter Task to remove the digital noise of the signal,
* - Initialize the GUI Task to display signals as a scope on the LCD,
* - Initialize the Remote Task to display signals as a scope on the LCD,
*/
dac_task_init();
adc_task_init();
noise_task_init();
filter_task_init();
gui_task_init();
controller_task_init();
remote_task_init();
cpu_irq_enable();
// Free running scheduler loop
while (true) {
// Enter Sleep Mode
sleepmgr_enter_sleep();
// Call ADC task
adc_task();
// Call DAC task
dac_task();
// Call Noise task
noise_task();
// Filter Task
filter_task();
// Call Gui task for update
gui_task();
// Call Controller Task for control Update
controller_task();
// Send data to the PC Application
remote_task();
}
}
开发者ID:Mazetti,项目名称:asf,代码行数:62,代码来源:main.c
示例12: main
int main(void)
{
struct adc_config adc_conf;
struct adc_channel_config adcch_conf;
board_init();
sysclk_init();
sleepmgr_init();
irq_initialize_vectors();
cpu_irq_enable();
gfx_mono_init();
// Enable back light of display
ioport_set_pin_high(LCD_BACKLIGHT_ENABLE_PIN);
// Initialize configuration structures.
adc_read_configuration(&ADCA, &adc_conf);
adcch_read_configuration(&ADCA, ADC_CH0, &adcch_conf);
/* Configure the ADC module:
* - unsigned, 12-bit results
* - VCC voltage reference
* - 200 kHz maximum clock rate
* - manual conversion triggering
* - temperature sensor enabled
* - callback function
*/
adc_set_conversion_parameters(&adc_conf, ADC_SIGN_ON, ADC_RES_12,
ADC_REF_VCC);
adc_set_clock_rate(&adc_conf, 200000UL);
adc_set_conversion_trigger(&adc_conf, ADC_TRIG_MANUAL, 1, 0);
adc_enable_internal_input(&adc_conf, ADC_INT_TEMPSENSE);
adc_write_configuration(&ADCA, &adc_conf);
adc_set_callback(&ADCA, &adc_handler);
/* Configure ADC channel 0:
* - single-ended measurement from temperature sensor
* - interrupt flag set on completed conversion
* - interrupts disabled
*/
adcch_set_input(&adcch_conf, ADCCH_POS_PIN1, ADCCH_NEG_NONE,
1);
adcch_set_interrupt_mode(&adcch_conf, ADCCH_MODE_COMPLETE);
adcch_enable_interrupt(&adcch_conf);
adcch_write_configuration(&ADCA, ADC_CH0, &adcch_conf);
// Enable the ADC and start the first conversion.
adc_enable(&ADCA);
adc_start_conversion(&ADCA, ADC_CH0);
do {
// Sleep until ADC interrupt triggers.
sleepmgr_enter_sleep();
} while (1);
}
开发者ID:AndreyMostovov,项目名称:asf,代码行数:57,代码来源:adc_example1_gfx.c
示例13: main
/*! \brief Main function. Execution starts here.
*/
int main(void)
{
//Initialize interrupt controller
irq_initialize_vectors();
cpu_irq_enable();
// Initialize sleep manager
sleepmgr_init();
// Initialize clock tree
sysclk_init();
// Initialize hardware board resources
board_init();
// Initialize user interface
ui_init();
ui_powerdown();
// Sanity check about Silicon revision Vs Firmware build
// for Silicon revision A, firmware should be specific
if ((!firmware_rev_a) && (nvm_read_device_rev()==0)) {
ui_si_revision_error();
while(ui_button()!=1);
while(ui_button()!=2);
while(ui_button()!=4);
while(ui_button()!=8);
}
// Initialize DATA Flash
at45dbx_init();
// Initialize ADC for on-board sensors
adc_sensors_init();
// Initialize USB HID report protocol
usb_hid_com_init();
// Start USB stack
main_build_usb_serial_number();
udc_start();
// The main loop manages only the power mode
// because everything else is managed by interrupt.
// The USB Start of Frame event manages internal tick events for
// on-board sensor updates as well as LCD display update.
while (true) {
if (main_b_msc_enable) {
if (!udi_msc_process_trans()) {
sleepmgr_enter_sleep();
}
} else {
sleepmgr_enter_sleep();
}
if (usb_hid_com_is_start_dfu()) {
main_start_dfu_session();
}
}
}
开发者ID:AndreyMostovov,项目名称:asf,代码行数:59,代码来源:main.c
示例14: main
int main(void)
{
struct adc_config adc_conf;
struct adc_channel_config adcch_conf;
board_init();
sysclk_init();
sleepmgr_init();
irq_initialize_vectors();
cpu_irq_enable();
// Initialize configuration structures.
adc_read_configuration(&ADCA, &adc_conf);
adcch_read_configuration(&ADCA, ADC_CH0, &adcch_conf);
/* Configure the ADC module:
* - unsigned, 12-bit results
* - bandgap (1 V) voltage reference
* - 200 kHz maximum clock rate
* - manual conversion triggering
* - temperature sensor enabled
* - callback function
*/
adc_set_conversion_parameters(&adc_conf, ADC_SIGN_OFF, ADC_RES_12,
ADC_REF_BANDGAP);
adc_set_clock_rate(&adc_conf, 200000UL);
adc_set_conversion_trigger(&adc_conf, ADC_TRIG_MANUAL, 1, 0);
adc_enable_internal_input(&adc_conf, ADC_INT_TEMPSENSE);
adc_write_configuration(&ADCA, &adc_conf);
adc_set_callback(&ADCA, &adc_handler);
/* Configure ADC channel 0:
* - single-ended measurement from temperature sensor
* - interrupt flag set on completed conversion
* - interrupts disabled
*/
adcch_set_input(&adcch_conf, ADCCH_POS_TEMPSENSE, ADCCH_NEG_NONE,
1);
adcch_set_interrupt_mode(&adcch_conf, ADCCH_MODE_COMPLETE);
adcch_enable_interrupt(&adcch_conf);
adcch_write_configuration(&ADCA, ADC_CH0, &adcch_conf);
// Get measurement for 85 degrees C (358 kelvin) from calibration data.
tempsense = adc_get_calibration_data(ADC_CAL_TEMPSENSE);
// Enable the ADC and start the first conversion.
adc_enable(&ADCA);
adc_start_conversion(&ADCA, ADC_CH0);
do {
// Sleep until ADC interrupt triggers.
sleepmgr_enter_sleep();
} while (1);
}
开发者ID:Gr3yR0n1n,项目名称:SAINTCON-2015-Badge,代码行数:56,代码来源:adc_example1.c
示例15: main
/**
* \brief Main application routine
* - Initializes the board and LCD display
* - Initialize ADC ,to read ADC offset and configure for oversampling
* - If number of sample Reached to total number of oversample required,
* call function to start process on oversampled ADC readings
*/
int main( void )
{
/*
* Initialize basic features for the AVR XMEGA family.
* - PMIC is needed to enable all interrupt levels.
* - Board init for setting up GPIO and board specific features.
* - Sysclk init for configuring clock speed and turning off unused
* peripherals.
* - Sleepmgr init for setting up the basics for the sleep manager,
*/
board_init();
sysclk_init();
pmic_init();
sleepmgr_init();
/* Initialize ST7565R controller and LCD display */
gfx_mono_init();
/* Display headings on LCD for oversampled result */
gfx_mono_draw_string("Oversampled", 0, 0, &sysfont);
/* Display headings on LCD for normal result */
gfx_mono_draw_string("Normal", 80, 0, &sysfont);
/* Initialize ADC ,to read ADC offset and configure ADC for oversampling
**/
init_adc();
/* Enable global interrupt */
cpu_irq_enable();
/* Switch ON LCD back light */
ioport_set_pin_high(NHD_C12832A1Z_BACKLIGHT);
/* Set LCD contrast */
st7565r_set_contrast(ST7565R_DISPLAY_CONTRAST_MIN);
/* Continuous Execution Loop */
while (1) {
/*
* Check if number of sample reached to total Number of
* oversample required by checking status of
* adc_oversampled_flag
*/
if (adc_oversampled_flag == true) {
/* Reset the adc_oversampled_flag */
adc_oversampled_flag = false;
/* Process all received ADC samples and calculate analog
* input */
adc_oversampled();
}
}
}
开发者ID:AndreyMostovov,项目名称:asf,代码行数:62,代码来源:oversampling.c
示例16: main
/*! \brief Main function. Execution starts here.
*/
int main(void)
{
irq_initialize_vectors();
cpu_irq_enable();
// Initialize the sleep manager
sleepmgr_init();
#if !SAMD21 && !SAMR21
sysclk_init();
board_init();
#else
system_init();
#endif
ui_init();
ui_powerdown();
// Start USB stack to authorize VBus monitoring
udc_start();
// The main loop manages only the power mode
// because the USB management is done by interrupt
PORTC_DIR=0b00000011; // USTAWIENIE NA PORCIE C DWÓCH PINÓW WYJŒCIOWYCH
while (true) {
char ch;
if (udi_cdc_is_rx_ready())
{
ch = udi_cdc_getc();
switch(ch)
{
case '0' :
PORTC.OUT=PIN1_bm;
_delay_ms(1000);
udi_cdc_write_buf("START \n\r", 14);
PORTC.OUTTGL=PIN1_bm;
break;// USTAWIENIE 0 I 1
case '1' :
PORTC.OUT=PIN0_bm;
_delay_ms(1000);
udi_cdc_write_buf("ZAWORY \n\r", 14);
PORTC.OUTTGL=PIN0_bm; break; // NEGACJA PORTÓW
default : udi_cdc_write_buf("'S' TO START A 'Z' TO ZMIANA", 26); break;
};
}
}
}
开发者ID:komornik,项目名称:paint,代码行数:55,代码来源:main.c
示例17: main
/**
* \brief Run CRC driver unit tests
*/
int main (void)
{
const usart_serial_options_t usart_serial_options = {
.baudrate = CONF_TEST_BAUDRATE,
.charlength = CONF_TEST_CHARLENGTH,
.paritytype = CONF_TEST_PARITY,
.stopbits = CONF_TEST_STOPBITS,
};
sysclk_init();
board_init();
sleepmgr_init();
stdio_serial_init(CONF_TEST_USART, &usart_serial_options);
DEFINE_TEST_CASE(crc_32bit_io_test, NULL,
run_32bit_io_test,
NULL, "32bit CRC on simulated IO data test");
DEFINE_TEST_CASE(crc_16bit_io_test, NULL,
run_16bit_io_test,
NULL, "16bit CRC on simulated IO data test");
DEFINE_TEST_CASE(crc_32bit_dma_test, NULL, run_32bit_dma_test,
NULL, "32bit CRC DMA data test");
DEFINE_TEST_CASE(crc_16bit_dma_test, NULL, run_16bit_dma_test,
NULL, "16bit CRC DMA data test");
DEFINE_TEST_CASE(crc_32bit_flash_range_test, NULL, run_flash_test,
NULL, "32bit CRC flash range test");
// Put test case addresses in an array
DEFINE_TEST_ARRAY(crc_tests) = {
&crc_32bit_io_test,
&crc_16bit_io_test,
&crc_32bit_dma_test,
&crc_16bit_dma_test,
&crc_32bit_flash_range_test,
};
// Define the test suite
DEFINE_TEST_SUITE(crc_suite, crc_tests, "XMEGA CRC driver test suite");
test_suite_run(&crc_suite);
while (1) {
// Intentionally left blank
}
}
开发者ID:InSoonPark,项目名称:asf,代码行数:53,代码来源:unit_tests.c
示例18: main
/**
* \brief Run ADC unit tests
*
* Initializes the clock system, board and serial output, then sets up the
* ADC unit test suite and runs it.
*/
int main(void)
{
const usart_serial_options_t usart_serial_options = {
.baudrate = CONF_TEST_BAUDRATE,
.charlength = CONF_TEST_CHARLENGTH,
.paritytype = CONF_TEST_PARITY,
.stopbits = CONF_TEST_STOPBITS,
};
board_init();
sysclk_init();
sleepmgr_init();
stdio_serial_init(CONF_TEST_USART, &usart_serial_options);
// Define single ended conversion test cases
DEFINE_TEST_CASE(single_ended_12bit_conversion_test, NULL,
run_single_ended_12bit_conversion_test, NULL,
"Single ended conversion with 12-bit result");
DEFINE_TEST_CASE(single_ended_8bit_conversion_test, NULL,
run_single_ended_8bit_conversion_test, NULL,
"Single ended conversion with 8-bit result");
// Define differential conversion test cases
DEFINE_TEST_CASE(differential_conversion_test, NULL,
run_differential_12bit_conversion_test, NULL,
"Differential conversion with 12-bit result");
DEFINE_TEST_CASE(differential_conversion_with_gain_test, NULL,
run_differential_12bit_with_gain_conversion_test, NULL,
"Differential conversion with 12-bit result and gain");
// Put test case addresses in an array
DEFINE_TEST_ARRAY(adc_tests) = {
&single_ended_12bit_conversion_test,
&single_ended_8bit_conversion_test,
&differential_conversion_test,
&differential_conversion_with_gain_test,
};
// Define the test suite
DEFINE_TEST_SUITE(adc_suite, adc_tests,
"XMEGA ADC driver test suite");
// Run all tests in the suite
test_suite_run(&adc_suite);
while (1) {
// Intentionally left empty.
}
}
开发者ID:AndreyMostovov,项目名称:asf,代码行数:56,代码来源:unit_tests.c
示例19: init_vrtc
void init_vrtc(){
//real time clock inits
pmic_init();
sysclk_init();
sleepmgr_init();
rtc_init();
cpu_irq_enable();
//v2x init
soft_counter = 0x00;
rtc_set_callback(alarm);
rtc_set_alarm_relative(32768);
}
开发者ID:PDXostc,项目名称:rvi_v2x_firmware_obsolete,代码行数:14,代码来源:vrtc.c
示例20: twim_set_config
/**
* \brief Initialize the TWIM module
*
* \param twim Base address of the TWIM
* \param config Options for initializing the TWIM module
*
* \retval STATUS_OK Transaction is successful
* \retval ERR_INVALID_ARG Invalid arg resulting in wrong CWGR Exponential
*/
status_code_t twim_set_config(Twim *twim, struct twim_config *config)
{
sysclk_enable_peripheral_clock(twim);
/* Enable master transfer */
twim->TWIM_CR = TWIM_CR_MEN;
/* Reset TWI */
twim->TWIM_CR = TWIM_CR_SWRST;
/* Clear SR */
twim->TWIM_SCR = ~0UL;
if (config->smbus) {
/* Enable SMBUS Transfer */
twim->TWIM_CR = TWIM_CR_SMEN;
twim->TWIM_SMBTR = (uint32_t) -1;
}
/* Select the speed */
if (config->speed) {
if (twim_set_speed(twim, config->speed, config->twim_clk,
config->data_setup_cycles) != STATUS_OK) {
return ERR_INVALID_ARG;
}
}
if (config->hsmode_speed) {
if (twim_set_hsmode_speed(twim, config->hsmode_speed, config->twim_clk,
config->hsmode_data_setup_cycles) != STATUS_OK) {
return ERR_INVALID_ARG;
}
}
/* Set clock and data slew rate */
twim->TWIM_SRR = ((config->speed < TWI_FAST_MODE_PLUS_SPEED) ?
TWIM_SRR_FILTER(2) : TWIM_SRR_FILTER(3))
| TWIM_SRR_CLSLEW(config->clock_slew_limit)
| TWIM_SRR_CLDRIVEL(config->clock_drive_strength_low)
| TWIM_SRR_DASLEW(config->data_slew_limit)
| TWIM_SRR_DADRIVEL(config->data_drive_strength_low);
twim->TWIM_HSSRR = TWIM_HSSRR_FILTER(1)
| TWIM_HSSRR_CLSLEW(config->hs_clock_slew_limit)
| TWIM_HSSRR_CLDRIVEL(config->hs_clock_drive_strength_low)
| TWIM_HSSRR_CLDRIVEH(config->hs_clock_drive_strength_high)
| TWIM_HSSRR_DASLEW(config->hs_data_slew_limit)
| TWIM_HSSRR_DADRIVEL(config->hs_data_drive_strength_low);
#if TWIM_LOW_POWER_ENABLE
sleepmgr_init();
#endif
return STATUS_OK;
}
开发者ID:AndreyMostovov,项目名称:asf,代码行数:59,代码来源:twim.c
注:本文中的sleepmgr_init函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论