你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32上电后会多次进入所有打开的定时器回调函数中,如何避免这样的情况?

[复制链接]
代码萌新 提问时间:2025-12-24 13:26 / 未解决

stm32cubemx配置定时器和定时器中断之后,用keil在定时器对应的回调函数中打断点,在上电初始化过程中会多次进入回调函数里,造成误触发!请问要如何避免?

收藏 评论5 发布时间:2025-12-24 13:26

举报

5个回答
butterflyspring 回答时间:前天 17:14
这个要具体看下你的配置和代码,然后调试方式。


通常打断点要看前后逻辑,如何判断是再上电初始化过程中?

另外调试时最好关掉优化,这样调试的逻辑会更直接。
提笔画夕游 回答时间:前天 23:31

那初始化的时候只初始化定时器,不使能启动,等进到应用任务后再使能开启定时器工作呢?

代码萌新 回答时间:6 小时前

提笔画夕游 发表于 2025-12-24 23:31
那初始化的时候只初始化定时器,不使能启动,等进到应用任务后再使能开启定时器工作呢?
...

应用的是编码器的定时器初始化encode模式,按道理初始化过程中打开定时器中断也不会有脉冲电平来触发encode中断计数,但实际上会不断的进入回调函数中。

代码萌新 回答时间:6 小时前

butterflyspring 发表于 2025-12-24 17:14
这个要具体看下你的配置和代码,然后调试方式。</p>
<p>

应用的是编码器的定时器初始化encode模式,按道理初始化过程中打开定时器中断也不会有脉冲电平来触发encode中断计数,但实际上会不断的进入回调函数中。优化等级我都关掉了,判断初始化的原因是外部条件不满足触发定时器中断,所以觉得是上电过程导致的,一般进入次数在12-14次左右。之后就不会再触发了,正常执行别的程序也不会误触发。

butterflyspring 回答时间:半小时前
可以固定IO 电平,然后单步调试,通过关键中断寄存器看看是什么触发条件引起的中断,从而发现问题的原因。
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版