我在 ADC-F28335上工作、但它不起作用、请帮我。 这是我的代码。
#include "DSP2833x_Device.h"
#include "math.h"
extern void InitAdc (void);
extern void InitSysCtrl(void);
extern void InitPieCtrl (void);
extern void InitPieVectTable (void);
中断空 ADC_ISR (空);
unsigned int ap;
unsigned int dong;
浮点环计数;
void main (void)
{
Loopcount = 0;
InitSysCtrl();
EALLOW;
EDIS;
Dint;
InitPieCtrl();
IER = 0x0000;
IFR = 0x0000;
InitPieVectTable();
EALLOW;
PieVectTable.ADCINT =&ADC_ISR;
EDIS;
InitAdc();
AdcRegs.ADCTRL1.bit.SEQ_CASC = 1;
AdcRegs.ADCTRL1.bit.CONT_RUN = 0;
AdcRegs.ADCTRL1.bit.ACQ_PS = 7;//1.
AdcRegs.ADCTRL1.bit.CPS = 0;
AdcRegs.ADCTRL2.bit.ePWM_SOCA_SEQ1 = 1;
AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 1;
AdcRegs.ADCTRL2.bit.INT_MOD_SEQ1 = 0;
AdcRegs.ADCTRL3.bit.ADCCLKPS=0;
AdcRegs.ADCTRL3.bit.SMODE_SEL = 1;
AdcRegs.ADCMAXCONV.ALL = 1;
AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x0000;
AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 0x0001;
EPwm6Regs.ETSEL.bit.SOCAEN = 1;
EPwm6Regs.ETSEL.bit.SOCASEL = 4;
EPwm6Regs.ETPS.bit.SOCAPRD = 1;
EPwm6Regs.CMPA.half.CMPA = 0x0080;
EPwm6Regs.TBPRD = 0xFFFF;
EPwm6Regs.TBCTL.bit.CTRMODE = 0;
PieCtrlRegs.PIEIER1.bit.INTx6=1;
IER |= 0x0001;
EINT;
ERTM;
for (;;)
{
Loopcount++;
}
}
中断空 ADC_ISR (空)
{
AP =(AdcRegs.ADCRESULT0)*3/65520;
Dong =(AdcRegs.ADCRESULT1)*3/65520;
AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1;
AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1;
PieCtrlRegs.PIEACX.ALL = PIEACK_Group1;
返回;
}