430 TimerB暂停输出PWM,怎么固定输出电平
如题:现用430的定时器B做了个PWM输出,按键控制 启动输出、暂停输出、输出频率调节。
在暂停输出的控制部分,是直接 TBCCR0=0 ; 但暂停后输出状态不确定!即使输出的频率相同,暂停后有时候是高电平,有时候是低电平。怎么设置能让它暂停后总是输出低电平?
我想到的办法是:把PWM输出脚的复用功能取消,再强制输出0;
这应该是最无赖的办法,有没有其他通过配置的办法来实现的呢? 怎么都没有人做过这个?
自己顶一下!
在仔细翻看了下用户手册的定时器部分,有如下收获,拿来跟大家分享一下!
分析TB的工作模式,比如把TB输出模式设置为reset/set模式,那么计数到CCRx时 output=0;计数到CCR0时 output=1;
计数器工作模式为up模式,即:计数器从0开始计数,计数到CCR0后自动清零。
430的用户手册中介绍,开启输出,通过CCR0写非 0 来实现,反之亦然。
默认情况下CCRx < CCR0,这样就能实现PWM输出了,但如果CCRx > CCR0 呢? {:titter:}{:titter:}{:titter:}{:titter:}
这不就是我要的结果了吗?!{:shy:}
刚试验了一下,perfect! OUTMODx Bits7-5Output mode. Modes 2, 3, 6, and 7 are not useful for TBCL0 because EQUx= EQU0.
000 OUT bit value
001 Set
010 Toggle/reset
011 Set/reset
100 Toggle
101 Reset
110 Toggle/set
111 Reset/set
OUT Bit 2 Output. This bit indicates the state of the output. For output mode 0, this bit
directly controls the state of the output.
0 Output low
1 Output high
将OUTMODx设为0,然后可以用OUT控制输出为高或低 dianyuan 发表于 2013-6-7 12:27 static/image/common/back.gif
OUTMODx Bits7-5Output mode. Modes 2, 3, 6, and 7 are not useful for TBCL0 because EQUx= EQU0.
000 OU ...
这确实是个不错的方法哈!谢谢!!
页:
[1]