硬件定时器的问题咨询

发布于 2020-07-24 15:04:26

请教一下开启定时器
rt_device_set_rx_indicate(hw_dev, timeout_cb1);有一个timeout_cb1回调函数
rt_device_open开启定时器后 又有TIM2_IRQHandler和HAL_TIM_PeriodElapsedCallback,这两个函数在drv_hwtimer.c文件

请问下timeout_cb1,HAL_TIM_PeriodElapsedCallback、TIM2_IRQHandler这三者的关系是什么,我要在中断里发送信号,是不是只用TIM2_IRQHandler就可以了

查看更多

关注者
0
被浏览
360
haocg931002
haocg931002 2020-07-25

TIM2_IRQHandler是最底层的函数,在startup....文件中定义为若函数。
HAL_TIM_PeriodElapsedCallback是ST公司为了便于用户开发推出的HAL库中的函数,在hal_tim.c文件中将TIM2_IRQHandler函数重新定义。
timeout_cb1是rt-thread中定义的,如果不是写驱动,可以不用考虑上面两个函数的工作原理。
转来转去的目的就是为了使用者不必关心底层的实现原理。

2 个回答
qq_还没想好
qq_还没想好 2020-07-24

大概是 TIM2_IRQHandler -> HAL_TIM_PeriodElapsedCallback -> timeout_cb1 ?不一定对

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友

手机
浏览

扫码手机浏览