#include "myadc.h"
void ADC_Init(void)
{
//设置ADC工作时钟
EALLOW;
SysCtrlRegs.HISPCP.all = 3; // HSPCLK = SYSCLKOUT / (2 * 3) = 25MHz
EDIS;
//ADC初始化设置
InitAdc();
//ADC工作方式
AdcRegs.ADCTRL1.bit.ACQ_PS = 0x0f; //设置启动脉冲宽度
AdcRegs.ADCTRL3.bit.ADCCLKPS = 1; //25MHz不分频
AdcRegs.ADCTRL1.bit.SEQ_CASC = 1; //序列发生器工作在级联方式
AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x0; //第一次转换通道设定为ADCINA0
AdcRegs.ADCTRL1.bit.CONT_RUN = 1; //设置连续运行模式
AdcRegs.ADCMAXCONV.bit.MAX_CONV1 = 0x0; //设置最大采样通道数位 0 + 1
//选择ADC的触发方式
AdcRegs.ADCTRL2.all = 0x2000; //软件触发
}
Uint16 Read_ADCValue(void)
{
while (AdcRegs.ADCST.bit.INT_SEQ1== 0); //查询转换是否结束
AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1; //清除中断标志位
return AdcRegs.ADCRESULT0>>4; //结果保存在高12位,左移返回出去
}
4、DSP28335 ADC设置一个通道进行采样
于 2024-01-30 23:22:32 首次发布