InitSysCtrl(); DINT; IER = 0; IFR = 0; InitPieCtrl(); InitPieVectTable(); InitGpio(); InitEPwm(); AdcInit();比如这个程序一定得是 InitEPwm(); AdcInit();这样的顺序如果换成 AdcInit(); InitEPwm();就不能初始化PWM程序 AdcInit(); 的程序为void AdcInit(void){ DSP28x_usDelay(2000); AdcRegs.ADCTRL3.all = 0x00E0; DSP28x_usDelay(2000); AdcRegs.ADCREFSEL.all = 0x0000;//内部参考 AdcRegs.ADCMAXCONV.all=0x0007; AdcRegs.ADCTRL1.bit.ACQ_PS = 0xf;//ADC采样窗口的大小,可用来控制SOC脉宽(采样开关关闭的时间段): //SOC脉冲的宽度是(ACQ_PS+1)个ADCLK周期数 AdcRegs.ADCTRL3.bit.ADCCLKPS = 0x2; //Fclk= HISPCP/2* ADC_CKPS 这里=12.5 AdcRegs.ADCTRL1.bit.CPS=0; //ADCCLK=Fclk/2*ADC_CPS=12.5 ADC的时钟频率 AdcRegs.ADCTRL3.bit.SMODE_SEL= 0; //设置顺序采样模式 AdcRegs.ADCTRL1.bit.SEQ_CASC = 1; //16路级联模式 AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x0; AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 0x1; AdcRegs.ADCCHSELSEQ1.bit.CONV02 = 0x2; AdcRegs.ADCCHSELSEQ1.bit.CONV03 = 0x3; AdcRegs.ADCCHSELSEQ2.bit.CONV04 = 0x4; AdcRegs.ADCCHSELSEQ2.bit.CONV05 = 0x5; AdcRegs.ADCCHSELSEQ2.bit.CONV06 = 0x6; AdcRegs.ADCCHSELSEQ2.bit.CONV07 = 0x7; AdcRegs.ADCTRL1.bit.CONT_RUN = 1; /////////// Setup continuous run AdcRegs.ADCTRL2.all = 0x2000; }求大神解答!!!!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>