搜索
bottom↓
回复: 3

430 TimerB暂停输出PWM,怎么固定输出电平

[复制链接]

出0入0汤圆

发表于 2013-6-7 10:36:37 | 显示全部楼层 |阅读模式
如题:

现用430的定时器B做了个PWM输出,按键控制 启动输出、暂停输出、输出频率调节。

在暂停输出的控制部分,是直接 TBCCR0=0 ; 但暂停后输出状态不确定!即使输出的频率相同,暂停后有时候是高电平,有时候是低电平。怎么设置能让它暂停后总是输出低电平?

我想到的办法是:把PWM输出脚的复用功能取消,再强制输出0;
这应该是最无赖的办法,有没有其他通过配置的办法来实现的呢?

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

 楼主| 发表于 2013-6-7 11:33:27 | 显示全部楼层
怎么都没有人做过这个?
自己顶一下!
在仔细翻看了下用户手册的定时器部分,有如下收获,拿来跟大家分享一下!

分析TB的工作模式,比如把TB输出模式设置为reset/set模式,那么计数到CCRx时 output=0;计数到CCR0时 output=1;
计数器工作模式为up模式,即:计数器从0开始计数,计数到CCR0后自动清零。
430的用户手册中介绍,开启输出,通过CCR0写非 0 来实现,反之亦然。
默认情况下CCRx < CCR0,这样就能实现PWM输出了,但如果CCRx > CCR0 呢?

这不就是我要的结果了吗?!
刚试验了一下,perfect!

出0入0汤圆

发表于 2013-6-7 12:27:53 | 显示全部楼层
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控制输出为高或低

出0入0汤圆

 楼主| 发表于 2013-6-7 14:17:07 | 显示全部楼层
dianyuan 发表于 2013-6-7 12:27
OUTMODx Bits7-5Output mode. Modes 2, 3, 6, and 7 are not useful for TBCL0 because EQUx= EQU0.
000 OU ...

这确实是个不错的方法哈!谢谢!!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-22 22:12

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表