智能车制作
标题:
pwm的初始化的一个小程序,大家看看有没有错误,谢谢
[打印本页]
作者:
wp1989
时间:
2011-1-2 16:42
标题:
pwm的初始化的一个小程序,大家看看有没有错误,谢谢
这是mc9s12XS128的芯片,用过飞思卡尔芯片的用该比较熟悉吧大家看看这个程序有没有错误!根据
我查的资料和自己的总接,感觉以下几处有错误!
(1)PWMSCLB=5; //SB=2.5M/2/5=250K
这是一个对时钟源B的分频吧!但是B是40M啊!是不是应该是SB=40/2/5=4M???
(2)PWMPER01=5000; // 周期为 500K/5000=50HZ
通道0和1级联后,通道周期怎么变为500k了,难道是两个通道周期之和???
(3)PWMDTY01=315; // 占空比为80%
占空比应该是(5000-315)/5000=93.7%吧!
void InitPWM()
{
PWME=0;//通道全部禁止
PWMCLK_PCLK1=1;//时钟选择CLOCKSA
PWMCLK_PCLK3=0;//时钟选择CLOCKB
PWMCLK_PCLK7=0;//时钟选择CLOCKB
PWMPRCLK = 0x04; // A=40M/16=2.5M ,B=40M
PWMSCLA=5; //SA=2.5M/2/5=250K
PWMSCLB=5; //SB=2.5M/2/5=250K
PWMPOL_PPOL1=1;//初始电平为高
PWMPOL_PPOL3=1;//初始电平为高
PWMPOL_PPOL7=1;//初始电平为高
PWMCAE=0x00;//左对齐输出
PWMCTL=0xf0;//01,23连接
PWMPER01=5000; // 周期为 500K/5000=50HZ
PWMPER23=10000; // 周期为 40M/10000=4k
PWMPER67=10000; // 周期为 40M/10000=4k
PWMDTY01=315; // 占空比为80%
PWMDTY23=0; // 占空比为0%
PWMDTY67=0; // 占空比为0%
PWME_PWME1=1; //01使能通道
PWME_PWME3=1; //23使能通道
PWME_PWME7=1; //67使能通道
}
作者:
wp1989
时间:
2011-1-2 16:43
总线时钟是80Mhz
作者:
映水云
时间:
2012-3-4 11:21
你好,我是刚刚学的。第一个我和你同感,第二个程序好像错了,应该是250k/5000,这样才等于50hz,第三个我倒是认为占空比应该是315/5000=6.3%,因为他的初始电平为高啊
欢迎光临 智能车制作 (http://111.231.132.190/)
Powered by Discuz! X3.2