All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Timer Examples

Table of Contents


Variables used in the following cases are defined as below

#define LED1 GPIO_PD0
#define LED2 GPIO_PD3
#define LED3 GPIO_PD4
#define LED4 GPIO_PD5
#define SW1 GPIO_PD1
#define SW2 GPIO_PD2

API-TIMER-CASE1:TIMER SYS CLOCK MODE

Function Sub-Function APIs Description Update Status
irq_handler() none Interrupt handler function 2019-1-10
main() cpu_wakeup_init() CPU initialization function [Mandatory]
clock_init() clock_init(SYS_CLK_24M_Crystal) Clock initialization function, System Clock is 24M RC by default [optional]
rf_drv_init() rf_drv_init(RF_MODE_BLE_1M) RF mode initialization [optional]
gpio_init() gpio_init(1) GPIO initialization: set the initialization status of all GPIOs [optional]
user_init() timer2_set_mode() timer2_set_mode(TIMER_MODE_SYSCLK,0,1000 * CLOCK_SYS_CLOCK_1MS) set the mode and parameter for timer2
timer_start() timer_start(TIMER2) start timer2
main_loop() none Main program loop

API-TIMER-CASE2:TIMER GPIO TRIGGER MODE

Function Sub-Function APIs Description Update Status
irq_handler() if(reg_tmr_sta & FLD_TMR_STA_TMR2 == FLD_TMR_STA_TMR2) determine whether timer2 interrupt flag is right 2019-1-10
reg_tmr_sta Ι= FLD_TMR_STA_TMR2 clear interrupt flag
timer2_irq_cnt ++ interrupt processing function
main() cpu_wakeup_init() CPU initialization function [Mandatory]
clock_init() clock_init(SYS_CLK_24M_Crystal) Clock initialization function, System Clock is 24M RC by default [optional]
rf_drv_init() rf_drv_init(RF_MODE_BLE_1M) RF mode initialization [optional]
gpio_init() gpio_init(1) GPIO initialization: set the initialization status of all GPIOs [optional]
user_init() timer2_gpio_init() timer2_gpio_init(SW1, POL_FALLING) open interrupt of the specified pin for timer2
irq_enable() enable global interrupt
timer2_set_mode() timer2_set_mode(TIMER_MODE_GPIO_TRIGGER,0,3) set the mode and parameter for timer2
timer_start() timer_start(TIMER2) start timer2
main_loop() none Main program loop

API-TIMER-CASE3:TIMER GPIO WIDTH MODE

Function Sub-Function APIs Description Update Status
irq_handler() if(reg_tmr_sta & FLD_TMR_STA_TMR2 == FLD_TMR_STA_TMR2) determine whether timer2 interrupt flag is right 2019-1-10
reg_tmr_sta Ι= FLD_TMR_STA_TMR2 clear interrupt flag
gpio_width = reg_tmr2_tick get the tick of gpio width
reg_tmr2_tick = 0 clear tick of timer2 to count again
main() cpu_wakeup_init() CPU initialization function [Mandatory]
clock_init() clock_init(SYS_CLK_24M_Crystal) Clock initialization function, System Clock is 24M RC by default [optional]
rf_drv_init() rf_drv_init(RF_MODE_BLE_1M) RF mode initialization [optional]
gpio_init() gpio_init(1) GPIO initialization: set the initialization status of all GPIOs [optional]
user_init() timer2_gpio_init() timer2_gpio_init(SW1, POL_FALLING) open interrupt of the specified pin for timer2
irq_enable() enable global interrupt
timer2_set_mode() timer2_set_mode(TIMER_MODE_GPIO_WIDTH,0,0) set the mode and parameter for timer2
timer_start() timer_start(TIMER2) start timer2
main_loop() none Main program loop

API-TIMER-CASE4:TIMER TICK MODE

Function Sub-Function APIs Description Update Status
irq_handler() none Interrupt handler function 2019-1-10
main() cpu_wakeup_init() CPU initialization function [Mandatory]
clock_init() clock_init(SYS_CLK_24M_Crystal) Clock initialization function, System Clock is 24M RC by default [optional]
rf_drv_init() rf_drv_init(RF_MODE_BLE_1M) RF mode initialization [optional]
gpio_init() gpio_init(1) GPIO initialization: set the initialization status of all GPIOs [optional]
user_init() timer2_set_mode() timer2_set_mode(TIMER_MODE_TICK,0,0) set the mode and parameter for timer2
timer_start() timer_start(TIMER2) start timer2
main_loop() none Main program loop

API-TIMER-CASE5:TIMER WATCHDOG MODE

Function Sub-Function APIs Description Update Status
irq_handler() none Interrupt handler function 2019-1-10
main() cpu_wakeup_init() CPU initialization function [Mandatory]
clock_init() clock_init(SYS_CLK_24M_Crystal) Clock initialization function, System Clock is 24M RC by default [optional]
rf_drv_init() rf_drv_init(RF_MODE_BLE_1M) RF mode initialization [optional]
gpio_init() gpio_init(1) GPIO initialization: set the initialization status of all GPIOs [optional]
user_init() wd_set_interval_ms() wd_set_interval_ms(1000,CLOCK_SYS_CLOCK_1MS) set parameter for watchdog mode of timer2
wd_start() start watchdog
main_loop() wd_clear() feed the dog

History Record

Date Description Author
2019-1-10 initial release LJW