DSP28335在在初始化PWM和ADC时程序会卡在ADC初始化程序中

2019-07-15 18:43发布

        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; }求大神解答!!!!!!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
blust
1楼-- · 2019-07-15 22:59
帮顶一下
blust
2楼-- · 2019-07-15 23:33
这里没有循环,理论上不会卡住,可以仿真下看看卡在了哪里。

一周热门 更多>