找回密码
 立即注册

QQ登录

只需一步,快速开始

开启左侧

[M051] m052 pwm 的问题------间歇输出,奇了怪了

[复制链接]
wuxinyao 发表于 2015-3-7 15:44:39 | 显示全部楼层 |阅读模式
用m052做某项目,用PWM产生可调电压输出,即简易DA吧,当改变PWM输出的脉宽时,经过RC滤波即可得到变化的电压,我想大家都懂的,^_^。
现在问题来了,当PWM输出占空比在50%(含)以上时,输出没问题的,连贯。当占空比低于50%时,输出不连贯,是间歇输出的,一阵有脉冲输出(占空比符合设定要求),一阵没有脉冲输出(输出为“0”),而且占空比越小,间歇周期越大。原来用的是M052LBN,以为是芯片的问题,换成M052LDN,现象依旧,那么请问问:这是什么原因造成的?怎么解决?  (着急啊,被这个问题卡住了,产品没法往下走啊)
回复

使用道具 举报

 楼主| wuxinyao 发表于 2015-3-7 15:46:02 | 显示全部楼层
搬张沙发坐等高人那,^_^
回复 支持 反对

使用道具 举报

Angus 发表于 2015-3-10 08:42:36 | 显示全部楼层
本帖最后由 Angus 于 2015-3-10 08:45 编辑

两种可能, 1>可能有某个地方无意中改了GPIO口的功能, 改成GPIO了。代码中同时不停的让PWM对应的 DOUT 位取反,若PWM不输出时刚好是DOUT的取反值,可验证是此原因。2>,可能是写占空比寄存器 CMR 出现错误,打开PWM周期中断,在周期中断里,让另一个GPIO每次取反。看这个引脚的方波是否刚好是PWM频率的一半,若是,表明PWM并没有停,而是占空比值写错了。
回复 支持 反对

使用道具 举报

 楼主| wuxinyao 发表于 2015-3-11 18:06:26 | 显示全部楼层
我是这样做的:初始化就把硬件配置好,之后不会再改动它,PWM占空比设置成大于等于50%就没事,一旦设置成小于50%问题就来了,我都怀疑是硬件本身的bug了
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU