📄 adc.c
字号:
#include"DSP281x_Device.h"
interrupt void adc_isr(void);
float a=0,b[100];
unsigned int k=0;
void main()
{
InitSysCtrl();
EALLOW;
GpioMuxRegs.GPAMUX.all=0x00FF;
GpioMuxRegs.GPBMUX.all=0x00FF;
SysCtrlRegs.HISPCP.all=0x3;
EDIS;
DINT;
IER=0x0000;
IFR=0X0000;
InitPieCtrl();
InitPieVectTable();
InitAdc();
EALLOW;
PieVectTable.ADCINT=&adc_isr;
EDIS;
PieCtrlRegs.PIEIER1.bit.INTx6=1;
IER |=M_INT1;
EINT;
ERTM;
AdcRegs.ADCMAXCONV.all=0x0000;
AdcRegs.ADCCHSELSEQ1.bit.CONV00=0x0;
AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1=1;
AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1=1;
EvaRegs.T1CMPR=0x0000;
EvaRegs.T1PR=0x0FFF;
EvaRegs.GPTCONA.bit.T1TOADC=2;
EvaRegs.T1CON.all=0x842; //00,0,01,000,0,1,00,00,1,0;842//10,000,0,1,00,00,1,0;1042
EvaRegs.GPTCONA.bit.TCMPOE=1; //???????????????
EvaRegs.GPTCONA.bit.T1PIN=1;
EvaRegs.GPTCONA.bit.T2PIN=2;
EvaRegs.CMPR1=0x0C00;
EvaRegs.CMPR2=0x3C00;
EvaRegs.CMPR3=0xFC00;
EvaRegs.ACTRA.all=0x0666;
EvaRegs.DBTCONA.all=0x0000;
EvaRegs.COMCONA.all=0xA600;
for(;;);
}
interrupt void adc_isr(void)
{
EvaRegs.T1CMPR=(AdcRegs.ADCRESULT0>>4);
a=((float)((AdcRegs.ADCRESULT0)>>4))*3.0/4095.0;
b[k]=a;
k++;
if(k==100)
k=0;
AdcRegs.ADCTRL2.bit.RST_SEQ1=1;
AdcRegs.ADCST.bit.INT_SEQ1_CLR=1;
PieCtrlRegs.PIEACK.all=PIEACK_GROUP1;
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -