牛卧堂MCU技术交流

标题: m052 pwm 的问题------间歇输出,奇了怪了 [打印本页]

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

作者: wuxinyao    时间: 2015-3-7 15:46
搬张沙发坐等高人那,^_^
作者: Angus    时间: 2015-3-10 08:42
本帖最后由 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
我是这样做的:初始化就把硬件配置好,之后不会再改动它,PWM占空比设置成大于等于50%就没事,一旦设置成小于50%问题就来了,我都怀疑是硬件本身的bug了




欢迎光临 牛卧堂MCU技术交流 (http://www.nuvoton-mcu.com/) Powered by Discuz! X3.2