[应用相关] 定时器回调函数只能执行一次

[复制链接]
benjaminka 发表于 2024-6-12 21:28 | 显示全部楼层
检查你的定时器配置代码,确保定时器被配置为在每次达到预分频器/自动重装载寄存器(PSC/ARR)的值时触发中断。
ingramward 发表于 2024-6-13 22:10 | 显示全部楼层
定时器中断已经启用,以便在定时器到期时触发中断。
tifmill 发表于 2024-6-14 12:47 | 显示全部楼层
在STM32上,可以使用HAL库或者标准的CMSIS库来配置定时器。
geraldbetty 发表于 2024-6-14 17:49 | 显示全部楼层
在定时器计数器达到设定值后,它会自动停止,并且回调函数只会被执行一次。
belindagraham 发表于 2024-6-14 21:25 | 显示全部楼层
可能是由于定时器配置或中断处理不正确导致的。
febgxu 发表于 2024-6-15 14:31 | 显示全部楼层
通常会配置一个中断服务函数来处理定时器中断。如果这个中断服务函数没有被正确地重置或复位,它可能只执行一次。
olivem55arlowe 发表于 2024-6-16 12:58 | 显示全部楼层
配置的预分频器和定时器值能够产生期望的定时间隔。如果配置的值太小或太大,定时器可能不会按照预期进行触发。
maudlu 发表于 2024-6-16 17:34 | 显示全部楼层
中断处理函数正确实现,并且在处理完中断事件后,正确地清除中断标志。
usysm 发表于 2024-6-16 21:22 | 显示全部楼层
检查与定时器相关的代码逻辑,确保没有逻辑错误导致定时器的状态不正确。
香水城 发表于 2024-6-17 11:29 | 显示全部楼层
你在再次初始化前,

先运行下这行:htim1.State = HAL_TIM_STATE_RESET;
abotomson 发表于 2024-6-17 13:14 | 显示全部楼层
利用多个定时器模块或单个定时器的周期性触发配合软件计数器来管理每个事件。
mattlincoln 发表于 2024-6-17 16:28 | 显示全部楼层
如果定时器的中断优先级设置得太高,可能导致其他中断服务程序(ISR)抢占了定时器中断,从而阻止了回调函数的再次执行。
鹿鼎计 发表于 2024-6-17 22:23 | 显示全部楼层
如果在回调函数中发生异常或错误,并且未正确处理,则可能导致该函数再次执行失败。
EmmaTT 发表于 2024-6-18 20:47 | 显示全部楼层
定时器设置单次运行吗
yeates333 发表于 2024-6-19 17:49 | 显示全部楼层
其他中断源不会干扰定时器中断。              
deliahouse887 发表于 2024-6-19 22:18 | 显示全部楼层
应检查定时器的初始化配置              
lzmm 发表于 2024-6-20 20:59 | 显示全部楼层
定时器中断在相应的中断优先级配置中被使能。
jackcat 发表于 2024-6-21 10:49 | 显示全部楼层
如果你的系统中有多个中断源,并且定时器中断的优先级较低,它可能会被其他中断打断或覆盖。
digit0 发表于 2024-6-22 07:52 | 显示全部楼层
定时器外围设备初始化正确,包括中断优先级,中断服务功能等。
小小蚂蚁举千斤 发表于 2024-6-23 14:41 | 显示全部楼层
定时器做PWM输出时,初始化定时器时执行HAL_TIM_PWM_Init(&TIM1_Handler);时进入回调函数里初始化GPIO引脚
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部