智能车制作

标题: pwm 占空比问题 [打印本页]

作者: ht7200    时间: 2013-3-22 22:43
标题: pwm 占空比问题
这两天在调试舵机的时候遇到了很郁闷的问题,求大神指教!!
按说,PWMPER5=5000,PWMDTY5=50,输出波形的占空比应该很小才对。用示波器观察,这里的周期是20ms,高电平却占了7毫秒左右!当PWMDTY5=120时,全部都是高电平了!


肿么会这样子呢!?


程序如下:

void PWM_init45(unsigned int fx)// 舵机 ICOC2引脚
{       
       
        MCF_GPIO_PTCPAR|=MCF_GPIO_PTCPAR_DTIN2_PWM4;                          
        MCF_GPIO_PTAPAR|=MCF_GPIO_PTAPAR_ICOC2_PWM5;// GPIO设置
        MCF_PWM_PWME = 0xff;//关闭pwm
        MCF_PWM_PWMCTL |=MCF_PWM_PWMCTL_CON45;//通道级联
        MCF_PWM_PWMPOL |= MCF_PWM_PWMPOL_PPOL5;//极性选择
        MCF_PWM_PWMCLK |= MCF_PWM_PWMCLK_PCLK5;//时钟源选择 SA
        MCF_PWM_PWMCAE |= MCF_PWM_PWMCAE_CAE5;//对齐模式
    MCF_PWM_PWMPRCLK|=MCF_PWM_PWMPRCLK_PCKA(0) ;//预分频       
        MCF_PWM_PWMCTL=0x00;// 表示在mcu进入休眠状态时,预分频模块仍有时钟输入
        MCF_PWM_PWMSCLA=240;//PWM 分频寄存器 A/B fSA=fA/(2*PWMSCLB) 可编程分频值(1~256)
        MCF_PWM_PWMCNT5=0;//PWM 通道计数寄存器       
        MCF_PWM_PWMPER5=5000;//PWM 通道周期寄存器
        MCF_PWM_PWMDTY5=50;//PWM 通道占空比寄存器


这里用的是mcf52255;资料上pwm的设置步骤与s12是一样的。



作者: 灰原姐姐    时间: 2013-3-23 14:21
总线频率是多少?
作者: ht7200    时间: 2013-3-23 15:02
灰原姐姐 发表于 2013-3-23 14:21
总线频率是多少?

80M

作者: 鲛★食梦貘    时间: 2013-3-23 20:26
灰原姐姐 发表于 2013-3-23 14:21
总线频率是多少?

灰原姐姐今天在各大赛区又火了把

作者: ht7200    时间: 2013-3-23 20:28
没人鸟我,自问自答吧。话说级联后的pwm通道应该是16位,可是经过还是8位,所以导致了占空比异常。。
但是,它为毛不是16位呢?是我前面的程序写错了?
作者: 灰原姐姐    时间: 2013-3-23 20:39
ht7200 发表于 2013-3-23 20:28
没人鸟我,自问自答吧。话说级联后的pwm通道应该是16位,可是经过还是8位,所以导致了占空比异常。。
但是 ...

我本来想说可能是这个问题的。
后来懒了,没开codewarrior看寄存器长度,抱歉。
那个寄存器就是这个设计的。
所以你可以级联之后试试。
毕竟芯片里面寄存器的陈本很高。
所以一般都是8个8位的,可以级联成4个16位的。

作者: 小男孩1    时间: 2013-4-23 15:28
:lol:lol:lol:lol
作者: 想恋爱。。。    时间: 2013-4-26 17:03
把你的程序发给我好吧,我正头疼呢
作者: zyx2014    时间: 2014-11-27 22:12
求指教调PWM




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2