打印
[应用相关]

STM32G070 定时器初始化后直接进入中断

[复制链接]
1197|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
一刀一级|  楼主 | 2021-9-9 10:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
给的示例初始化一启动timer就立马进中断,后来发现是因为库函数TIM_Base_SetConfig里执行了TIMx->EGR = TIM_EGR_UG;
不理解为什么这么写?还以为定时配置错了

使用特权

评论回复
沙发
onlycook| | 2021-9-9 10:36 | 只看该作者

这是因为定时器里面有些寄存器具有预装功能,初始化为了让数据立即生效就软件产生个更新事件 让数据立即生效,同时也就触发了更新事件。这时为了
避免一使能定时器中断就进入更新中断,我们可以在使能定时器更新中断之前对更新事件标志做个清零即可,比如 __HAL_TIM_CLEAR_IT(htim, TIM_IT_UPDATE);

使用特权

评论回复
板凳
tfqi| | 2021-10-5 17:36 | 只看该作者
这个标志位是什么意思

使用特权

评论回复
地板
wiba| | 2021-10-5 17:41 | 只看该作者
预装功能是什么功能呢

使用特权

评论回复
5
zljiu| | 2021-10-5 17:46 | 只看该作者
如果不初始化有没有什么影响

使用特权

评论回复
6
coshi| | 2021-10-5 17:51 | 只看该作者
需要手动清零吗

使用特权

评论回复
7
aoyi| | 2021-10-5 17:58 | 只看该作者
每个系列的芯片都有预装功能吗

使用特权

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

本版积分规则

57

主题

344

帖子

0

粉丝