发新帖我要提问
12
返回列表
打印
[应用相关]

定时器回调函数只能执行一次

[复制链接]
楼主: probedog
手机看帖
扫描二维码
随时随地手机跟帖
21
benjaminka| | 2024-6-12 21:28 | 只看该作者 回帖奖励 |倒序浏览
检查你的定时器配置代码,确保定时器被配置为在每次达到预分频器/自动重装载寄存器(PSC/ARR)的值时触发中断。

使用特权

评论回复
22
ingramward| | 2024-6-13 22:10 | 只看该作者
定时器中断已经启用,以便在定时器到期时触发中断。

使用特权

评论回复
23
tifmill| | 2024-6-14 12:47 | 只看该作者
在STM32上,可以使用HAL库或者标准的CMSIS库来配置定时器。

使用特权

评论回复
24
geraldbetty| | 2024-6-14 17:49 | 只看该作者
在定时器计数器达到设定值后,它会自动停止,并且回调函数只会被执行一次。

使用特权

评论回复
25
belindagraham| | 2024-6-14 21:25 | 只看该作者
可能是由于定时器配置或中断处理不正确导致的。

使用特权

评论回复
26
febgxu| | 2024-6-15 14:31 | 只看该作者
通常会配置一个中断服务函数来处理定时器中断。如果这个中断服务函数没有被正确地重置或复位,它可能只执行一次。

使用特权

评论回复
27
olivem55arlowe| | 2024-6-16 12:58 | 只看该作者
配置的预分频器和定时器值能够产生期望的定时间隔。如果配置的值太小或太大,定时器可能不会按照预期进行触发。

使用特权

评论回复
28
maudlu| | 2024-6-16 17:34 | 只看该作者
中断处理函数正确实现,并且在处理完中断事件后,正确地清除中断标志。

使用特权

评论回复
29
usysm| | 2024-6-16 21:22 | 只看该作者
检查与定时器相关的代码逻辑,确保没有逻辑错误导致定时器的状态不正确。

使用特权

评论回复
30
香水城| | 2024-6-17 11:29 | 只看该作者
你在再次初始化前,

先运行下这行:htim1.State = HAL_TIM_STATE_RESET;

使用特权

评论回复
31
abotomson| | 2024-6-17 13:14 | 只看该作者
利用多个定时器模块或单个定时器的周期性触发配合软件计数器来管理每个事件。

使用特权

评论回复
32
mattlincoln| | 2024-6-17 16:28 | 只看该作者
如果定时器的中断优先级设置得太高,可能导致其他中断服务程序(ISR)抢占了定时器中断,从而阻止了回调函数的再次执行。

使用特权

评论回复
33
鹿鼎计| | 2024-6-17 22:23 | 只看该作者
如果在回调函数中发生异常或错误,并且未正确处理,则可能导致该函数再次执行失败。

使用特权

评论回复
34
EmmaTT| | 2024-6-18 20:47 | 只看该作者
定时器设置单次运行吗

使用特权

评论回复
35
yeates333| | 2024-6-19 17:49 | 只看该作者
其他中断源不会干扰定时器中断。              

使用特权

评论回复
36
deliahouse887| | 2024-6-19 22:18 | 只看该作者
应检查定时器的初始化配置              

使用特权

评论回复
37
lzmm| | 2024-6-20 20:59 | 只看该作者
定时器中断在相应的中断优先级配置中被使能。

使用特权

评论回复
38
jackcat| | 2024-6-21 10:49 | 只看该作者
如果你的系统中有多个中断源,并且定时器中断的优先级较低,它可能会被其他中断打断或覆盖。

使用特权

评论回复
39
digit0| | 2024-6-22 07:52 | 只看该作者
定时器外围设备初始化正确,包括中断优先级,中断服务功能等。

使用特权

评论回复
40
小小蚂蚁举千斤| | 2024-6-23 14:41 | 只看该作者
定时器做PWM输出时,初始化定时器时执行HAL_TIM_PWM_Init(&TIM1_Handler);时进入回调函数里初始化GPIO引脚

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则