| 
在线时间15 小时
UID53613
注册时间2008-6-12
NXP金币0 
 该用户从未签到 注册会员 
 
 
	积分154 
最后登录1970-1-1 | 
 
| 在KEA64芯片中初始化FTM为EPWM模式总是进入hard fault中断,具体表现为对写保护位WPDIS位置位时马上就会进入hard fault中断,但是如果不去掉写保护,后面设置EPWM模式时MSB,ELSB,ELSA也会引起hard fault中断,请用过的朋友们提点建议。 void FTM0_Init()
 {
 SIM->SCGC |= SIM_SCGC_FTM0_MASK; /* Enable Clock for FTM0 */
 SIM->PINSEL &= ~SIM_PINSEL_FTM0PS1_MASK;/*FTM0_CH1=PTA1*/
 SIM->PINSEL &= ~SIM_PINSEL_FTM0PS0_MASK;/*FTM0_CH0=PTA0*/
 
 
 FTM0->MODE |= FTM_MODE_WPDIS_MASK;/*DISABLE WRITE PROTECTION*/此处出现问题
 FTM0->SC |= FTM_SC_PS(4);        /* Select Preescaler in this case 16. 20 Mhz /16 =1.25 Mhz. */
 /* Counter increase by one every 0.8 us */
 
 
 /* Enable Channle 0*/
 FTM0->CONTROLS[0].CnSC |= FTM_CnSC_MSB_MASK;/*Channel as EPWM,HIGH FIRST*/
 FTM0->CONTROLS[0].CnSC |= FTM_CnSC_ELSB_MASK;
 FTM0->CONTROLS[0].CnSC &= ~FTM_CnSC_ELSA_MASK;
 FTM0->CONTROLS[0].CnSC &= ~FTM_CnSC_CHIE_MASK; /* Disable channel 0 interrupt */
 FTM0->SC &= ~FTM_SC_TOIE_MASK;/*Disable FTM0 overflow interrupt*/
 //FTM0->MODE &= ~FTM_MODE_FTMEN_MASK;/*???*/
 //FTM0->COMBINE = 0;
 FTM0->OUTMASK = 0xFE;/*only channel 0 active*/
 FTM0->CNT = 0;/*CNT CLEAR*/
 FTM0->CNTIN = 0;
 FTM0->MOD = 1249;/*period=1000US*/
 FTM0->CONTROLS[0].CnV = 625;/*high=500us*/
 
 FTM0->SC |= FTM_SC_CLKS(1); /*FTM0 use system clock and FTM0 open*/
 }
 
 
 | 
 |