📄 dsp281x_adc.c
字号:
#include "DSP281x_Device.h" // DSP281x Headerfile Include File
#include "DSP281x_Examples.h" // DSP281x Examples Include File
#define ADC_usDELAY 8000L
#define ADC_usDELAY2 20L
void InitAdc(void)
{
extern void DSP28x_usDelay(Uint32 Count);
AdcRegs.ADCTRL3.bit.ADCBGRFDN = 0x3; // Power up bandgap/reference circuitry
DELAY_US(ADC_usDELAY); // Delay before powering up rest of ADC
AdcRegs.ADCTRL3.bit.ADCPWDN = 1; // Power up rest of ADC
DELAY_US(ADC_usDELAY2); // Delay after powering up ADC
/* AdcRegs.ADCTRL1.bit.RESET=1;
AdcRegs.ADCTRL2.bit.RST_SEQ1=1;
AdcRegs.ADCTRL3.bit.SMODE_SEL=0;//顺序采样模式
AdcRegs.ADCTRL1.bit.SEQ_CASC=1;//采用级联模式
AdcRegs.ADCMAXCONV.all = 0x02; // 转换3个通道
//AdcRegs.ADCCHSELSEQ1.all= 0x3210; // Setup ADCINA3 as 1st SEQ1 conv.
//AdcRegs.ADCCHSELSEQ2.all= 0x7654;
AdcRegs.ADCCHSELSEQ1.bit.CONV00=0x0; //采样引脚ADCINA0
AdcRegs.ADCCHSELSEQ1.bit.CONV01=0x1; //采样引脚ADCINA1
AdcRegs.ADCCHSELSEQ1.bit.CONV02=0x2; //采样引脚ADCINA2
AdcRegs.ADCTRL2.bit.EVA_SOC_SEQ1 = 1; // Enable EVASOC to start SEQ1 SEQ1被EVA的触发源启动
AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 1; // Enable SEQ1 interrupt (every EOS)使能中断
AdcRegs.ADCTRL1.bit.CONT_RUN=0; //启动/停止模式
AdcRegs.ADCTRL1.bit.ACQ_PS = 0x04; //采样窗长度
AdcRegs.ADCTRL1.bit.CPS = 0; //不分频 ADCCLK=15MHZ(67ns)
AdcRegs.ADCTRL3.bit.ADCCLKPS = 0x0; //HSPCLK不分频 ADCLKPS=HSPCLK=15MHZ
*/
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -