如何使用TIMER驱动
TIMER HAL驱动的使用方法如下:
- 声明一个timer_handle_t句柄结构,例如:timer_handle_t timer_handle。
- 重写hal_timer_base_msp_init()以初始化TIMER底层资源:
- 如果开发者使用中断方式的API函数hal_timer_base_start_it()计数,则需调用相关的NVIC接口来配置:
- 调用hal_nvic_set_priority()配置TIMER中断优先级。
- 调用hal_nvic_enable_irq()使能TIMER的NVIC中断。
- 对timer_handle句柄init结构中的计数初值进行配置。
- 调用hal_timer_base_init()API初始化TIMER外设。
- 如果开发者使用中断方式的API函数hal_timer_base_start_it()计数,则需调用相关的NVIC接口来配置:
- 如果用轮询方式的API函数hal_timer_base_start()计数,开发者可调用hal_timer_get_state()获取当前的驱动运行状态,以判断当前计数是否完成。
- 如果用中断方式的API函数hal_timer_base_start_it()计数,开发者可重写hal_timer_period_elapsed_callback()中断回调函数,TIMER计数完成中断触发时,该回调函数会被自动调用。