adc.c

来自「AD转换代码 采样2812。。。。。。。。。。。。。。。。。」· C语言 代码 · 共 46 行

C
46
字号
#include "DSP281x_Device.h"

void DelayUs(volatile Uint16);			

void InitAdc(void)
{

/*** ADC 模块复位 ***/
	AdcRegs.ADCTRL1.bit.RESET = 1;	// 复位ADC模块
	asm(" RPT #10 || NOP");			// 必须等待12个周期(最差情况)以便复位有效
	
/*** ADC 上电次序 ***/
	AdcRegs.ADCTRL3.all = 0x00C8;		// 首先为ref和bandgap电路上电

	DelayUs(5000);						// ADCPWDN置位前等待5ms
	AdcRegs.ADCTRL3.bit.ADCPWDN = 1;	// ADCPWDN=1使ADC主模块上电
	DelayUs(20);							// 等待20us

/***配置ADC寄存器 ***/
	AdcRegs.ADCMAXCONV.all = 0x0000;

	AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 2;	// 转换通道2

	AdcRegs.ADCTRL1.all = 0x2710;

	AdcRegs.ADCTRL2.all = 0x0900;

/*** 使能ADC中断 ***/
	PieCtrlRegs.PIEIER1.bit.INTx6 = 1;	
	IER |= 0x0001;					

}
// AdcInit()结束


/*********************************************************************
* 函数:DelayUs()                                                *
*********************************************************************/
void DelayUs( volatile Uint16 Usec )
{
    while( Usec-- )					// 1us loop at 150MHz CPUCLK
	{
		asm(" RPT #139 || NOP");
	}

} // end DelayUs()

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?