资讯详情

TMS320F2812外设例程系列之Adc

//#####################################################################

//文件: Example_281xAdcSeqModeTest.c //功能: 对通道A0的输入信号进行AD转换 //##################################################################### #include "DSP281x_ .h" //DSP2812 头文件 #include "DSP281x_Examples.h" //AD 定义 #define A _MODCLK 0x3 //HSPCLK = SYSCLKOUT/2*ADC_MODCLK2 = 150/(2*3) = 25MHz #define ADC_CKPS 0x1 //ADC 模块时钟 = HSPCLK/2*ADC_CKPS = 25MHz/(1*2) = 12.5MHz #define ADC_SHCLK 0xf //ADC模块的采样/保持周期 = 16 ADC clocks #define AVG 1000 //平均采样界限 #define BUF_SIZE 2048 //采样 长度 //全局变量 Uint16 SampleTable[BUF_SIZE]; //主程序 main() { Uint16 i; //步骤1.初始化系统控制:PLL、看门狗、使能外设时钟 InitSysCtrl(); //本例的时钟配置 EALLOW; SysCtrlRegs.HISPCP.all = ADC_MODCLK; //HSPCLK = SYSCLKOUT/ADC_MODCLK EDIS; //步骤2.初始化GPIO //InitGpio(); //本例中略过 //步骤3.清除所有中断并初始化PIE控制寄存器,关 中断 DI ; //关全局中断 InitPieCtrl(); IER = 0x0000; //关所有CPU级中断 IFR = 0x0000; //清除CPU所有中断标志 //初始化中断向量表 InitPieVectTable(); //步骤4.初始化所有外设,本例中只初始化ADC //InitPeripherals(); //本例中不需要 InitAdc(); //初始化AD //本例中 ADC的设置 AdcRegs.AD L1.bit.ACQ_PS = ADC_SHCLK; AdcRegs.ADCTRL3.bit.ADCCLKPS = ADC_CKPS; AdcRegs.ADCTRL1.bit.SEQ_CASC = 1; //配置为级联模式 AdcRegs.ADCCH EQ1.bit.C V00 = 0x0; AdcRegs.ADCTRL1.bit.CONT_RUN = 1; //配置为连续转换模式 //步骤5.使能CPU中断 //初始化 SampleTable 为0 for (i=0; i >4) ); } } } -电子元器件采购网(www.ruidan.com)是本土元器件目录分销商,采用“小批量、现货、样品”销售模式,致力于满足客户多型号、高质量、快速交付的采购需求。 自建高效智能仓储,拥有自营库存超过50,000种,提供一站式正品现货采购、个性化解决方案、选型替代等多元化服务。
锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台