ad.c
来自「与TI DSP接口芯片详细的原理及应用大全」· C语言 代码 · 共 45 行
C
45 行
#include "Ad.h"
#include "DSP281x_PieCtrl.h"
extern void DSP28x_usDelay(Uint32 Count);
void InitAd()
{
//上电
AdcRegs.ADCTRL3.bit.ADCBGRFDN = 0x3;
DELAY_US(8000);
AdcRegs.ADCTRL3.bit.ADCPWDN = 1;
DELAY_US(20);
AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 1; //使能SEQ1中断
AdcRegs.ADCTRL3.bit.SMODE_SEL = 0; //
AdcRegs.ADCTRL1.bit.CPS = 1; //时钟2分频
AdcRegs.ADCTRL3.bit.ADCCLKPS = 1; //时钟2分频
AdcRegs.ADCTRL1.bit.ACQ_PS = 4; //脉冲宽度ADCLK的5倍
AdcRegs.ADCTRL1.bit.SEQ_CASC = 1; //级联方式
AdcRegs.ADCMAXCONV.bit.MAX_CONV1 = 0x7; //一个转换周期转换8个数据
AdcRegs.ADCCHSELSEQ1.all = 0x0; //通道选择0-3
AdcRegs.ADCCHSELSEQ2.all = 0x0; //通道选择4-7
}
interrupt void ADCINT_ISR(void)
{
Uint16 Result[8];
Uint16 i = 0;
Result[i++] = AdcRegs.ADCRESULT0;
Result[i++] = AdcRegs.ADCRESULT1;
Result[i++] = AdcRegs.ADCRESULT2;
Result[i++] = AdcRegs.ADCRESULT3;
Result[i++] = AdcRegs.ADCRESULT4;
Result[i++] = AdcRegs.ADCRESULT5;
Result[i++] = AdcRegs.ADCRESULT6;
Result[i++] = AdcRegs.ADCRESULT7;
AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1; //清中断
PieCtrlRegs.PIEACK.bit.ACK1 = 1;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?