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

STM32F103高级定时器中,开启单脉冲模式(置位TIMx_CR1:RCR)是不是会立刻清除计数器使能位?

[复制链接]
void_island 提问时间:2024-9-15 18:04 / 未解决

因为STM32F103的高级定时器重复计数寄存器(RCR)的有效位只有8位,而我需要输出超过256个PWM脉冲,且保证每个脉冲之间必须连续。我目前设想的实现方案为:假设我需要输出260个脉冲

1、关闭单脉冲模式,将RCR寄存器写入最高值255,软件引发一次更新事件,使RCR的值生效,然后清除标志位并打开更新中断。

2、将RCR的值设置为4,RCR的值只有在下一次更新事件后生效。使能计数器,计数器在输出256个脉冲后更新并进入更新中断

3、在2的更新后RCR的新值(4)生效,在更新中断中开启单脉冲模式,使计数器在输出4个脉冲后停止计数。

但现在的问题是,通过逻辑分析仪分析,最终输出的脉冲数量仍为256,通过debug查看,程序运行后RCR计数器已被设置为4,单脉冲模式被置位,计数器失能。也就是说,最后4个脉冲还没开始输出计数器就已经失能了。因此猜想是不是因为在2的更新中断中,使能单脉冲的同时会使计数器失能,导致最后4个脉冲无法输出?

收藏 评论0 发布时间:2024-9-15 18:04

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版