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

stm32用tim输出pwm似乎先使能一次cen再设置cnt才有用?

[复制链接]
人物 提问时间:2024-1-26 09:57 / 已解决

设计是用tim输出Pwm控制呼吸灯,有时要求其只亮或只灭,直到状态变化。这个功能我准备用修改cnt,关闭cen的方式实现。实验中我发现必须要使能cen一次,哪怕之后立刻关掉,设置cnt才会正常起作用。请问这是为什么,有什么更好的方式修改

我使用的是stm32f030c8t6的tim16,代码大致如下image.pngimage.pngimage.png

收藏 评论2 发布时间:2024-1-26 09:57

举报

2个回答
xmshao 最优答案 回答时间:2024-1-26 13:49:35
可以肯定,对于stm32通用或高级定时器,使能计数器和给计数器寄存器赋值是各自独立的。结合你当前的配置PWM模式、计数方式、极性选择,给CCR值赋0就是输出固定高电平,如果给CCR赋比ARR至少大1时就固定输出低电平,这样实现起来可靠,简单方便。
butterflyspring 回答时间:2024-1-26 12:05:20
关闭PWM一般可以采样强制输出模式。
有些时候可以才用设置比较值的方式使之输出相应的电平到底关闭的目的(注意,中心对其模式不适用)

这样逻辑简单清晰,对定时器运行没影响,强行关闭往往处在不同状态,不符合运行规律。

stm32 f0 force to outpu.PNG

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