智能车制作

标题: K60 FTM初始化问题 [打印本页]

作者: jesson    时间: 2012-4-19 09:08
标题: K60 FTM初始化问题
请问为什么A7 A8  A9 A10可以正常输出我所需要的波形 而A6和A11为什么不好使呢?频率不对 波形也不对 就好像没使能是的求高手解答!


void PWM_Init(uint32 time0,uint32 time1,uint32 time2)
{
  SIM_SCGC5|=SIM_SCGC5_PORTA_MASK;     
  PORTA_PCR6=PORT_PCR_MUX(3)|PORT_PCR_DSE_MASK;   
  PORTA_PCR7=PORT_PCR_MUX(3)|PORT_PCR_DSE_MASK;     
PORTA_PCR8=PORT_PCR_MUX(3)|PORT_PCR_DSE_MASK;   
  PORTA_PCR9=PORT_PCR_MUX(3)|PORT_PCR_DSE_MASK;   
  PORTA_PCR10=PORT_PCR_MUX(3)|PORT_PCR_DSE_MASK;   
  PORTA_PCR11=PORT_PCR_MUX(3)|PORT_PCR_DSE_MASK;  
      SIM_SCGC6|=SIM_SCGC6_FTM0_MASK;         
   SIM_SCGC6|=SIM_SCGC6_FTM1_MASK;         
   SIM_SCGC3|=SIM_SCGC3_FTM2_MASK;         
   
   FTM0_C4SC|=FTM_CnSC_ELSB_MASK;           
   FTM1_C0SC|=FTM_CnSC_ELSB_MASK;
   FTM2_C0SC|=FTM_CnSC_ELSB_MASK;
   
   FTM0_C4SC&=~FTM_CnSC_ELSA_MASK;
   FTM1_C0SC&=~FTM_CnSC_ELSA_MASK;
   FTM2_C0SC&=~FTM_CnSC_ELSA_MASK;   
   FTM0_C4SC|=FTM_CnSC_MSB_MASK;  
   FTM1_C0SC|=FTM_CnSC_MSB_MASK;
   FTM2_C0SC|=FTM_CnSC_MSB_MASK;
   
   
   FTM1_C1SC|=FTM_CnSC_ELSB_MASK;
   FTM0_C3SC|=FTM_CnSC_ELSB_MASK;
   FTM2_C1SC|=FTM_CnSC_ELSB_MASK;   
   
   FTM1_C1SC&=~FTM_CnSC_ELSA_MASK;
   FTM0_C3SC&=~FTM_CnSC_ELSB_MASK;
   FTM2_C1SC&=~FTM_CnSC_ELSB_MASK;   
   
   FTM1_C1SC|=FTM_CnSC_MSB_MASK;
   FTM0_C3SC|=FTM_CnSC_MSB_MASK;
   FTM2_C1SC|=FTM_CnSC_MSB_MASK;
   
      FTM0_SC = FTM_SC_CLKS(1) | FTM_SC_PS(0);              
   FTM1_SC = FTM_SC_CLKS(1) | FTM_SC_PS(0);               
   FTM2_SC = FTM_SC_CLKS(1) | FTM_SC_PS(5);               
      FTM0_MODE|=FTM_MODE_WPDIS_MASK;     
   FTM1_MODE|=FTM_MODE_WPDIS_MASK;     
   FTM2_MODE|=FTM_MODE_WPDIS_MASK;
      FTM0_MODE&=~1;
   FTM1_MODE&=~1;
   FTM2_MODE&=~1;
    FTM0_OUTMASK=0x00;                     
   FTM1_OUTMASK=0x00;                        
   FTM2_OUTMASK=0x00;
   FTM0_COMBINE=0;
   FTM1_COMBINE=0;
   FTM2_COMBINE=0;
   FTM0_OUTINIT=0;  
   FTM1_OUTINIT=0;
   FTM2_OUTINIT=0;
   FTM0_EXTTRIG=0;                           
   FTM1_EXTTRIG=0;                           
   FTM2_EXTTRIG=0;
   FTM0_POL=0;                              
   FTM1_POL=0;                           
   FTM2_POL=0;  
   FTM0_QDCTRL&=~FTM_QDCTRL_QUADEN_MASK;
   FTM1_QDCTRL&=~FTM_QDCTRL_QUADEN_MASK;
   FTM2_QDCTRL&=~FTM_QDCTRL_QUADEN_MASK;
   FTM0_INVCTRL=0;                           
   FTM1_INVCTRL=0;                           
   FTM2_INVCTRL=0;
   FTM0_SWOCTRL=0;
   FTM1_SWOCTRL=0;
   FTM2_SWOCTRL=0;
   FTM0_PWMLOAD=0;
   FTM1_PWMLOAD=0;
   FTM2_PWMLOAD=0;
   FTM0_CNTIN=0;
   FTM1_CNTIN=0;
   FTM2_CNTIN=0;
   FTM0_MOD=time0;
   FTM1_MOD=time1;
   FTM2_MOD=time2;
   FTM0_CNT=0;  
   FTM1_CNT=0;
   FTM2_CNT=0;
}

作者: zhangwenqiang    时间: 2012-4-27 20:36
感觉你的程序好乱
作者: jesson    时间: 2012-4-27 20:38
zhangwenqiang 发表于 2012-4-27 20:36
感觉你的程序好乱

呵呵 是有点乱 现在已经解决了就是太乱了才出错的 呵呵 整理一下已经没问题了

作者: zhangwenqiang    时间: 2012-4-27 20:40
你为什么要开这么多个模块啊?FTM0,FTM1,FTM2,一个FTM0不够你用吗
作者: jesson    时间: 2012-4-27 20:43
zhangwenqiang 发表于 2012-4-27 20:40
你为什么要开这么多个模块啊?FTM0,FTM1,FTM2,一个FTM0不够你用吗

可以在FTM0下 不同的通道给不同的周期么?电机是20K 舵机是300HZ 激光是180K请问可以在一个FTM下使用啊?频率不是每组都一样的么?

作者: zhangwenqiang    时间: 2012-4-27 21:06
我也是新手,不太了解




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