查了很多资料,都没把这个启动/停止模式给弄明白!!折磨了我几天了
这个图大家都熟悉吧!
按我的理解,在ePWM1的零点是产生的SOCA触发排序器SEQ1转换I1,I2,I3,在ePWM1的顶点是产生的SOCB触发排序器SEQ2转换V1,V2,V3,采样模式
下面是AD的初始化部分
AdcRegs.ADCTRL3.bit.SMODE_SEL = 0; //设置顺序采样模式
AdcRegs.ADCTRL1.bit.SEQ_CASC = 0; //双排序器模式
AdcRegs.ADCTRL1.bit.CONT_RUN = 0; //启动/停止模式
AdcRegs.ADCMAXCONV.all = 0x22;
AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x00;
AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 0x01;
AdcRegs.ADCCHSELSEQ1.bit.CONV02 = 0x02;
AdcRegs.ADCCHSELSEQ3.bit.CONV08 = 0x08;
AdcRegs.ADCCHSELSEQ3.bit.CONV09 = 0x09;
AdcRegs.ADCCHSELSEQ3.bit.CONV10 = 0x0A;
AdcRegs.ADCTRL2.bit.EPWM_SOCA_SEQ1 = 1;
AdcRegs.ADCTRL2.bit.EPWM_SOCB_SEQ2 = 1;
AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 1;
下面是ePWM初始化部分
EPwm1Regs.ETSEL.bit.SOCASEL = ET_CTR_ZERO; //ePWMxSOCA触发信号产生条件,当CTR=0时产生中断触发
EPwm1Regs.ETSEL.bit.SOCAEN = 0x1; //使能ePWMxSOCA信号产生
EPwm1Regs.ETSEL.bit.SOCBEN = 0x1; //使能ePWMxSOCB信号产生
EPwm1Regs.ETSEL.bit.SOCBSEL = ET_CTR_PRD; //ePWMxSOCB触发信号产生条件,当CTR=PRD时产生中断触发
为什么运行的结果是,I1,I2,I3转换有值,V1,V2,V3没有值??
求老司机带路!!!