智能车制作

标题: xs128的PWM模块分频问题。。 [打印本页]

作者: Aachen.    时间: 2015-1-30 11:19
标题: xs128的PWM模块分频问题。。
求教大神PWMPRCLK是如何给AB时钟进行预分频的呢???PCKA0  PCKA1  PCKA2是不是分别指的是P0 P1 P4呢????
作者: 支点305    时间: 2015-1-30 13:25
PCKA0到2是PWM0到3
PCKB0到2是PWM4到7
作者: Aachen.    时间: 2015-1-30 13:38
支点305 发表于 2015-1-30 13:25
PCKA0到2是PWM0到3
PCKB0到2是PWM4到7

可是时钟A不是P0 P1 P4 P5 这四个端口吗???
作者: 支点305    时间: 2015-1-30 13:49
Aachen. 发表于 2015-1-30 13:38
可是时钟A不是P0 P1 P4 P5 这四个端口吗???

抱歉。我说错了 是0 1 4 5

作者: Aachen.    时间: 2015-1-30 13:53
支点305 发表于 2015-1-30 13:49
抱歉。我说错了 是0 1 4 5

但是PCKA0 PCKA1 PCKA2 如何对应四个端口呢???0.0
作者: 支点305    时间: 2015-1-30 23:13
Aachen. 发表于 2015-1-30 13:53
但是PCKA0 PCKA1 PCKA2 如何对应四个端口呢???0.0

三位二进制范围是0到7  分频系数就是2的若干次方比如100 就是总线16分频

作者: 小白开水    时间: 2015-1-31 09:06
没有那么复杂,就是查表,用总线除以三个PCK得到的分频因子,再除以第二个分频因子,就是现在的时钟频率
作者: 洪荒启者    时间: 2015-1-31 12:46
求各位大神指教,我写的程序PWM波忽大忽小,是什么原因
作者: 洪荒启者    时间: 2015-1-31 12:48
void pwm3_init(void)
{
  PWME=0X00;
  PWMPRCLK=0X33;
  PWMSCLA=150;
  PWMSCLB=150;
  PWMCLK=0x0E;
  PWMPOL=0X0E;
  PWMCAE=0XF1;
  PWMCTL=0x20;
  PWMPER23=200;
   PWMPER1=100;
  PWMDTY1=20;
}
void AD_init(void)
{
  ATD0CTL1=0X20;
  ATD0CTL2=0X40;
  ATD0CTL3=0X60;
  ATD0CTL4=0X03;
  ATD0CTL5=0X30;
  ATD0DIEN=0X00;
}
void fuzhi()
{

AD_wValue3= AD_wValue1- AD_wValue2;
AD_wValue4=  AD_wValue3/( 0X7A*40);
AD_wValue5= AD_wValue4+15;
PWMDTY23=AD_wValue5 ;










}
void main(void) {
  /* put your own code here */
  pll_init();
  pwm3_init();  
  AD_init();


        EnableInterrupts;


  for(;;) {
   while(!ATD0STAT2L_CCF0);
    AD_wValue1=ATD0DR0;
    AD_wValue2=ATD0DR5;
   fuzhi();
   ATD0STAT0_SCF=1;
   
   PWME_PWME3=1;
   PWME_PWME1=1;
    _FEED_COP(); /* feeds the dog */
  } /* loop forever */
  /* please make sure that you never leave main */
}
这是程序





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