智能车制作

标题: pwm问题 ,求解 [打印本页]

作者: 倾城☆北辰★强    时间: 2013-9-20 17:50
标题: pwm问题 ,求解
先上程序吧
#include <hidef.h>           /* common defines and macros */
#include "derivative.h"      /* derivative-specific definitions */

/*************主频设置**************************/
void Busclock(void)                //05,01 48MHz  06,01 56MHz  07,01 64MHz  08,01 72MHz  
{   
    CLKSEL=0X00;                                          //disengage PLL to system
    PLLCTL_PLLON=1;                                  //turn on PLL
    SYNR =0xc0 | 0x05;                        
    REFDV=0x80 | 0x01;
    POSTDIV=0x00;                 //pllclock=2*osc*(1+SYNR)/(1+REFDV)=96MHz;
    _asm(nop);                    //BUS CLOCK=48M
    _asm(nop);
    while(!(CRGFLG_LOCK==1));            //when pll is steady ,then use it;
    CLKSEL_PLLSEL =1;                             
}
void init_pwm(void)
{
     PWME_PWME0=0;    //禁止
     PWMPRCLK=0X07;   //对总线时钟进行预分频(128分),总线时钟为48M,分频后为375khz
     PWMCLK_PCLK0=0;  //设A为其时钟源
     PWMSCLA=0X7D;    //A时钟为1000Hz     7D=125  375/125
     PWMPOL_PPOL0=1;  //上升沿翻转
     PWMCAE_CAE0=0;   //左对齐输出
     PWMDTY0=0X05;    //占空比为25%的波形
     PWMPER0=0X14;    //输出为50Hz的波
     PWMCNT0=0X00;    //0通道计数器清0
     PWME_PWME0=1;    //0通道使能,0通道为输出通道
}

void main(void)  
{
  Busclock();
  init_pwm();
  while(1);


我自己计算的是pwm0输出50hz方波,但实际输出的不是,求教大神哪里问题


作者: kgxy-freescale    时间: 2013-9-20 17:52
自己算
作者: 倾城☆北辰★强    时间: 2013-9-20 17:53
kgxy-freescale 发表于 2013-9-20 17:52
自己算

算了啊,计算的是,实际输出不是,不知道哪里问题

作者: 君啸凤舞    时间: 2013-9-20 19:18
你写错了,你写出来的是150Hz的程序。。。
“PWMPER0=0X14;    //输出为50Hz的波”把这句改成PWMPER0=0X3C;
因为你算出来分频后的48000000/128/125=3000;
PWMx=通道时钟周期*PWMPERX;

作者: 倾城☆北辰★强    时间: 2013-9-22 19:32
君啸凤舞 发表于 2013-9-20 19:18
你写错了,你写出来的是150Hz的程序。。。
“PWMPER0=0X14;    //输出为50Hz的波”把这句改成PWMPER0=0X3C ...

改了还是不行,而且之前也不是输出150hz的波,是不是时钟那部分的问题
作者: 君啸凤舞    时间: 2013-9-22 19:57
倾城☆北辰★强 发表于 2013-9-22 19:32
改了还是不行,而且之前也不是输出150hz的波,是不是时钟那部分的问题

有可能。

作者: 不二小小    时间: 2013-9-27 11:00
时钟照着手册上面写,那要这么复杂,有时候PWM波那样用这么复杂,写个小程序就行了,直接输出,上升下降时间都差不多
作者: 一切随缘。。    时间: 2013-9-27 16:44
A时钟应该为375khz吧。。。。
作者: 一切随缘。。    时间: 2013-9-27 16:47
它的输出应该是18.75khz的波,个人观点,仅供参考,不对的还望各大神指教。
作者: L,X。    时间: 2014-3-25 21:48
你的时钟换一个试试




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