F28335控制无刷直流电机出现cap中断进入一遍后不再进入

2019-03-26 15:13发布

ECap1Regs.ECCTL1.bit.CAP1POL = EC_RISING;
  ECap1Regs.ECCTL1.bit.CAP2POL = EC_FALLING;
  ECap1Regs.ECCTL1.bit.CAP3POL = EC_RISING;
  ECap1Regs.ECCTL1.bit.CAP4POL = EC_FALLING;
  ECap1Regs.ECCTL1.bit.CTRRST1 = EC_ABS_MODE;
  ECap1Regs.ECCTL1.bit.CTRRST2 = EC_ABS_MODE;
  ECap1Regs.ECCTL1.bit.CTRRST3 = EC_ABS_MODE;
  ECap1Regs.ECCTL1.bit.CTRRST4 = EC_ABS_MODE;
  ECap1Regs.ECCTL1.bit.CAPLDEN = EC_ENABLE;
  ECap1Regs.ECCTL1.bit.PRESCALE = EC_DIV1;
  ECap1Regs.ECCTL2.bit.CAP_APWM = EC_CAP_MODE;
  ECap1Regs.ECCTL2.bit.CONT_ONESHT = EC_CONTINUOUS;
  ECap1Regs.ECCTL2.bit.SYNCO_SEL = EC_SYNCO_DIS;
  ECap1Regs.ECCTL2.bit.SYNCI_EN = EC_DISABLE;
  ECap1Regs.ECEINT.all=0x0000;//stop all interrupt
  ECap1Regs.ECCLR.all=0xFFFF;//clare all flag
  ECap1Regs.ECCTL2.bit.TSCTRSTOP = EC_RUN;// 启动
  ECap1Regs.ECEINT.bit.CEVT1=1;// Enable cevt1 interrupt
  ECap1Regs.ECEINT.bit.CEVT2=1;// Enable cevt2 interrupt
  ECap1Regs.ECEINT.bit.CEVT3=1;// Enable cevt3 interrupt
  ECap1Regs.ECEINT.bit.CEVT4=1;// Enable cevt4 interrupt
CAP模块设置如上。现在的问题是当我设置CAP中断进入五次后电机停止转动,过1S之后重新启动电机(startmotor),启动之后【hall信号已经有变化】不能再进入CAP模块(interrupt cap)进行持续的转动。不知道问题出在哪里,求大神解答。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。