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

为何Tim2自动装载定时的首次中断时间总是设定时间的2倍?

[复制链接]
微粒52 提问时间:2025-2-12 11:47 / 未解决
收藏 评论2 发布时间:2025-2-12 11:47

举报

2个回答
微粒52 回答时间:2025-2-12 11:56:04

为何Tim2自动装载定时的首次中断时间总是设定时间的2倍?而后续中断均正常。反复修改了Tim2->CR1中各控制位也没解决。

xmshao 回答时间:2025-2-12 13:48:01
你是指TIMER更新中断吧。


你确定首次中断时间总是设定时间的2倍,而不是首次计数周期发生了2次更新中断?


原因很可能是库代码里做TIMER的时基参数初始化时手动产生一个更新事件,且更新事件标志被置位。


如果是因为这个,建议在使能TIMER更新中断前,先对更新事件标志做个清零。


__HAL_TIM_CLEAR_FLAG(&htim1, TIM_FLAG_UPDATE);
  __HAL_TIM_ENABLE_IT(htim, TIM_IT_UPDATE);

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版