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 + -
显示快捷键?