104
722
3112
中级工程师
STM32初始化完毕后第一次启动定时器直接进入中断,原因是定时器的寄存器中断标识没有被清理掉。
如果使用标准库,先用TIM_ClearITPendingBit(TIM1, TIM_IT_Update)清除中断标记,然后使能定时器中断,最后启动定时器;
如果使用HAL库,在MX_TIMx_Init函数后紧跟着__HAL_TIM_CLEAR_IT(&htimX, TIM_IT_UPDATE)以此来清除中断标识位。
使用特权
596
1万
5万
版主
发表回复 本版积分规则 回帖后跳转到最后一页
等级类勋章
发帖类勋章
时间类勋章
人才类勋章
1
扫码关注 21ic 官方微信
扫码关注嵌入式微处理器
扫码关注21ic项目外包
扫码关注21ic视频号
扫码关注21ic抖音号
本站介绍 | 申请友情链接 | 欢迎投稿 | 隐私声明 | 广告业务 | 网站地图 | 联系我们 | 诚聘英才 | 论坛帮助
京公网安备 11010802024343号