#include "F28x_Project.h"
void Gpio_select(void);
void Setup_ePWM(void);
void ConfigureADC(void);
void SetupsADCSoftware(void);
void InitDaca(void);
Uint16 AdcaResult0;
Uint16 DAC_output;
interrupt void adca1_isr(void);
void main(void)
{
InitSysCtrl();
DINT;
InitPieCtrl();
IER = 0X0000;
IFR = 0X0000;
InitPieVectTable();
Gpio_select();
Setup_ePWM();
InitDaca();
ConfigureADC();
SetupsADCSoftware();
EALLOW;
PieVectTable.ADCA1_INT = &adca1_isr;
EDIS;
IER |= M_INT1;
PieCtrlRegs.PIEIER1.bit.INTx1 = 1;
EINT;
ERTM;
while(1)
{
// Wait for ADC conversion
while(!AdcaRegs.ADCINTFLG.bit.ADCINT1);
// Clear ADC interrupt flag
AdcaRegs.ADCINTFLGCLR.bit.ADCINT1 = 1;
// Read ADC result
AdcaResult0 = AdcaResultRegs.ADCRESULT0;
// Output ADC result through DAC
DacaRegs.DACVALS.bit.DACVALS = AdcaResult0;
}
}
void Gpio_select(void)
{
EALLOW;
GpioCtrlRegs.GPAMUX1.bit.GPIO4 = 1;
GpioCtrlRegs.GPAMUX1.bit.GPIO5 = 1;
EDIS;
}
void Setup_ePWM(void)
{
EPwm3Regs.TBCTL.bit.CLKDIV = 7;
EPwm3Regs.TBCTL.bit.HSPCLKDIV = 7;
EPwm3Regs.TBCTL.bit.CTRMODE = 0;
EPwm3Regs.AQCTLA.all = 0X0012;
EPwm3Regs.TBPRD = 55804;
EPwm3Regs.CMPA.bit.CMPA = 55804/2;
EPwm3Regs.ETSEL.bit.SOCAEN = 1;
EPwm3Regs.ETSEL.bit.SOCASEL = 1;
EPwm3Regs.ETPS.bit.SOCAPRD = 1;
EPwm3Regs.ETCLR.bit.SOCA = 1;
EPwm3Regs.ETSEL.bit.INTEN = 1;
EPwm3Regs.ETSEL.bit.INTSEL = 1;
EPwm3Regs.ETPS.bit.INTPRD = 1;
EPwm3Regs.ETCLR.bit.INT = 1;
}
void InitDaca(void)
{
EALLOW;
DacaRegs.DACCTL.bit.DACREFSEL = 1;
DacaRegs.DACCTL.bit.LOADMODE = 0;
DacaRegs.DACOUTEN.bit.DACOUTEN = 1;
EDIS;
}
void ConfigureADC(void)
{
EALLOW;
AdcaRegs.ADCCTL2.bit.PRESCALE = 6;
AdcSetMode(ADC_ADCA, ADC_RESOLUTION_12BIT, ADC_SIGNALMODE_SINGLE);
AdcaRegs.ADCCTL1.bit.ADCPWDNZ = 1;
EDIS;
}
void SetupsADCSoftware(void)
{
Uint16 acqps;
if(ADC_RESOLUTION_12BIT == AdcaRegs.ADCCTL2.bit.RESOLUTION)
{
acqps = 14;
}
else
{
acqps = 63;
}
EALLOW;
AdcaRegs.ADCSOC5CTL.bit.CHSEL = 1;
AdcaRegs.ADCSOC5CTL.bit.ACQPS = acqps;
AdcaRegs.ADCSOC5CTL.bit.TRIGSEL = 5;
EDIS;
}
interrupt void adca1_isr(void)
{
AdcaRegs.ADCINTFLGCLR.bit.ADCINT1 = 1;
AdcaRegs.ADCSOCFRC1.all = 0x0001;
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
}
This program is for ADC to DAC conversion. I am supplying an input voltage of 3V, expecting the same voltage as the output voltage. However, I am unable to view the output. I am supplying 3V using a power supply, and I want to view the output on the Oscilloscope. May i know what is the error in my program, i didn't encounter errors while building and debugging the project. And let me know which pin i should connect as input and out put