智能车制作
标题:
新手求解有关PWM程序的频率与设定不符
[打印本页]
作者:
丶_SHOPONG__
时间:
2013-4-21 15:22
标题:
新手求解有关PWM程序的频率与设定不符
才弄XS128不久,弄了很久的PWM模块了,时钟无法正确输出想要的频率和占空比。请大神指教一下。
我的程序如下:
#include <hidef.h> /* common defines and macros */
#include "derivative.h" /* derivative-specific definitions */
#include"PWM.h"
#include"PLL.h"
//==============函数声明=========================//
void PWM_Init(void);
void PLL_Init(void);
//==============PLL_Init()函数=====================//
void PLL_Init(void) {
CLKSEL=0x00;
PLLCTL&=0xbf; //倍频后产生64M的频率。
SYNR=0x03;
REFDV=0x01;
PLLCTL|=(1<<6);
asm NOP;
asm NOP;
asm NOP;
while(CRGFLG_LOCK==1) ; //CRGFLG寄存器中LOCK置位表示稳定
CLKSEL_PLLSEL=1;
}
//==============PWM_Init函数=====================//
void PWM_Init(void) {
PWME=0x00; //总线时钟为32M
PWMPRCLK=0x44; //内部时钟频率均为2M
PWMCLK=0xff; //所有通道都以0.1 4.5为SA,2.3.6.7为SB时钟
PWMSCLA=4; //SA时钟为250KHz
PWMSCLB=5; //SB时钟为200Khz
PWMPOL=0xff; //极性为输出为高电平
PWMCAE=0x00; //输出为左对齐输出
PWMCTL=0xff; //全部级联
PWMPER67= 200; //6.7通道的输出频率为1KHZ
PWMPER45=100; //4.5通道的输出频率为2.5KHZ
PWMPER23=400; //2.3通道的输出频率为0.5KHZ/ PWMPER01=200; //0.1通道的输出频率为1.25Khz
PWMDTY67= 40; //6.7通道占空比为20%
PWMDTY45= 80; //5.4 通道占空比为80%
PWMDTY23= 200; //2.3通道占空比为 50%
PWMDTY01= 80; //1.0占空比为40%
PWME=0xff;
}
//===============主函数=========================//
void main(void) {
PLL_Init() ;
PWM_Init() ;
while(1);
}
求大神帮帮忙,实在不知道怎么办呢。
作者:
穆旦阿斗
时间:
2013-4-21 19:49
慢慢的一个一个对吧 首先看看PLL
作者:
丶_SHOPONG__
时间:
2013-4-21 20:47
穆旦阿斗 发表于 2013-4-21 19:49
慢慢的一个一个对吧 首先看看PLL
嗯,谢了,已经找出来问题了。弄了我好几天了。
欢迎光临 智能车制作 (http://111.231.132.190/)
Powered by Discuz! X3.2