老师您好!我在做直流电机控制的项目,下面一段关于ADC配置的程序,为什么我在Watch中监测时,结果不对,模拟信号接在了ADCINA0上,电压为2.4V。在Watch中我监测了AdcRegs.ADCRESULT0>>4和Voltage[0]时,值不对,为什么?
.......
//150M的系统时钟
SysCtrlRegs.HISPCP.all=0x3;
......
void AdcSetup(void)
{
InitAdc();
AdcRegs.ADCTRL3.bit.ADCCLKPS=0X0;
AdcRegs.ADCTRL1.bit.ACQ_PS=0xf;
AdcRegs.ADCTRL1.bit.SEQ_CASC=1;
AdcRegs.ADCTRL3.bit.SMODE_SEL=0;
AdcRegs.ADCMAXCONV.bit.MAX_CONV1=0;
AdcRegs.ADCCHSELSEQ1.bit.CONV00=0X0;
AdcRegs.ADCTRL2.bit.EPWM_SOCA_SEQ1=1;
AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1=1;
}
//pwm模块的其他配置就不列举了,PWM已经调试正常,下面列举ET模块中的几条语句
void PwmSetup(void)
{
......
EPwm1Regs.ETSEL.bit.SOCAEN=1;
EPwm1Regs.ETSEL.bit.SOCASEL=0X1;
EPwm1Regs.ETPS.bit.SOCAPRD=0X1;
}
interrupt void adc_isr(void)
{
Voltage[0]=AdcRegs.ADCRESULT0>>4;
}
中断检查了,都打开了,我的配置有没有问题?感谢了