#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;
中断 void adca1_ISR (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)
{
//等待 ADC 转换
while (!AdcaRegs.ADCINTFLG.bit.ADCINT1);
//清除 ADC 中断标志
AdcaRegs.ADCINTFLGCLR.bit.ADCINT1 = 1;
//读取 ADC 结果
AdcaResult0 = AdcaResultRegs。 ADCRESULT0;
//通过 DAC 输出 ADC 结果
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;
}
空 InitDACA (空)
{
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;
}
空设置 ADCSoftware (void)
{
uint16 acqps;
if (ADC_Resolution_12bit == AdcaRegs.ADCCTL2.bit.resolution)
{
Acqps = 14;
}
否则
{
acqps = 63;
}
EALLOW;
AdcaRegs.ADCSOC5CTL.bit.CHSEL = 1;
AdcaRegs.ADCSOC5CTL.bit.ACQPS = acqps;
AdcaRegs.ADCSOC5CTL.bit.TRIGSEL = 5;
EDIS;
}
中断失效 adca1_isr (void)
{
AdcaRegs.ADCINTFLGCLR.bit.ADCINT1 = 1;
AdcaRegs.ADCSOCFRC1.all = 0x0001;
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
}
此程序用于 ADC 至 DAC 的转换。 我要提供3V 的输入电压、需要与输出电压相同的电压。 但是、我无法查看输出。 我使用电源提供3V 电压、我要查看示波器上的输出。 也许我知道我的程序中的错误是什么、我在构建和调试项目时没有遇到错误。 然后让我知道我应该连接哪个引脚作为输入和输出