欢迎来到天天文库
浏览记录
ID:39852843
大小:16.92 KB
页数:4页
时间:2019-07-13
《DSP28335 ADC程序 中文说明》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、*例程功能:利用中断定时器每隔一秒钟,从DSP28335的A0、A1口接收模拟信号,并转换为数字信号存放在SampleTable1,SampleTable2中。**/#include"DSP2833x_Device.h"//DSP2833x头文件#include"DSP2833x_Examples.h"//DSP2833xExamplesIncludeFile//ADC启动参数#if(CPU_FRQ_150MHZ)//Default-150MHzSYSCLKOUT#defineADC_MODCLK0x3//HSPCLK=SYSCLKOUT/2*ADC_MODCLK
2、2=150/(2*3)=25.0MHz#endif#if(CPU_FRQ_100MHZ)#defineADC_MODCLK0x2//HSPCLK=SYSCLKOUT/2*ADC_MODCLK2=100/(2*2)=25.0MHz#endif#defineADC_CKPS0x1//ADCmoduleclock=HSPCLK/2*ADC_CKPS=25.0MHz/(1*2)=12.5MHz#defineADC_SHCLK0xf//S/HwidthinADCmoduleperiods=16ADCclocks#definePIEACK_GROUP10x0001interr
3、uptvoidISRTimer0(void);intSampleTable1=0,SampleTable2=0;intcount,count1,count2;main(){//步骤1.初始化系统控制:PLL,WatchDog,启用外设时钟该示例函数可在DSP2833x_SysCtrl.c文件中找到。InitSysCtrl();//ADC工作时钟设置:EALLOW;SysCtrlRegs.HISPCP.all=ADC_MODCLK;//HSPCLK=SYSCLKOUT/ADC_MODCLK,ADC工作的标准频率EDIS;//步骤2.初始化GPIO:该示例函数位于DS
4、P2833x_Gpio.c文件中,并说明如何将GPIO设置为默认状态。//InitGpio();//在这个例子中被跳过//第3步。清除所有中断并初始化PIE矢量表:禁用CPU中断DINT;//初始化PIE控制寄存器为默认状态。默认状态是禁止所有的PIE中断并清除标志。//这个函数可以在DSP2833x_PieCtrl.c文件中找到。InitPieCtrl();//禁用CPU中断并清除所有CPU中断标志:IER=0x0000;IFR=0x0000;//InitializethePIEvectortablewithpointerstotheshellInterrupt
5、//ServiceRoutines(ISR).//这将填充整个表,即使在这个例子中没有使用中断。这对于调试目的很有用。//TheshellISRroutinesarefoundinDSP2833x_DefaultIsr.c.//该函数在DSP2833x_PieVect.c中找到。InitPieVectTable();EALLOW;PieVectTable.TINT0=&ISRTimer0;//告诉定时器0的中断地址为中断向量表的INT0EDIS;InitCpuTimers();ConfigCpuTimer(&CpuTimer0,150,1000000);Start
6、CpuTimer0();//CPU第一组中断将会产生,并使能第一组中断的第七个小中断IER
7、=M_INT1;PieCtrlRegs.PIEIER1.bit.INTx7=1;//步骤4.初始化所有器件外设:此功能可在DSP2833x_InitPeripherals.c中找到InitAdc();//ADC初始化设置//ADC工作方式设置:AdcRegs.ADCTRL1.bit.ACQ_PS=ADC_SHCLK;//设置采集窗的大小。该控制位控制SOC脉冲的宽度,SOC脉冲信号的宽度等于ADCLK周期*(ADC_SHCLK+1)AdcRegs.ADCTRL3.bit.A
8、DCCLKPS=ADC_CKPS;//核心时钟分频。ADC模块时钟=HSPCLK/2*ADC_CKPS=25.0MHz/(1*2)=12.5MHzAdcRegs.ADCTRL1.bit.SEQ_CASC=1;//建立级联序列方式AdcRegs.ADCTRL1.bit.CONT_RUN=1;//读取完转换序列后停止AdcRegs.ADCTRL1.bit.SEQ_OVRD=1;//使能排序覆盖AdcRegs.ADCCHSELSEQ1.bit.CONV00=0x0;//设置ADCINA0作为第一个变换AdcRegs.ADCCHSELSEQ1.bit.CONV01=0x1
9、;//设置
此文档下载收益归作者所有