Other Parts Discussed in Thread: CONTROLSUITE, C2000WARE
I working on adc-f28335 but it doesn't work, please help me. this is my code.
#include "DSP2833x_Device.h"
#include "math.h"
extern void InitAdc(void);
extern void InitSysCtrl(void);
extern void InitPieCtrl(void);
extern void InitPieVectTable(void);
interrupt void adc_isr(void);
unsigned int ap;
unsigned int dong;
float Loopcount;
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++;
}
}
interrupt void adc_isr(void)
{
ap = (AdcRegs.ADCRESULT0)*3/65520;
dong = (AdcRegs.ADCRESULT1)*3/65520;
AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1;
AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1;
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
return;
}