|
楼主 |
发表于 2014-11-25 11:03:52
|
显示全部楼层
以下是我的ADC内部基准配置方法,哪位高手指点下,外部基准如何配置
/************************************************************************
**函数名称:void AdcModeSet(void)
**函数功能:ADC功能设置,内部基准
**输入参数:无
**返回参数:无
************************************************************************/
void AdcModeSet(void)
{
InitAdc(); // For this example, init the ADC
//设置ADC时钟
AdcRegs.ADCTRL1.bit.ACQ_PS = ADC_SHCLK;
AdcRegs.ADCTRL3.bit.ADCCLKPS = ADC_CKPS;
AdcRegs.ADCTRL1.bit.SEQ_CASC = 1; //采用级联方式
AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 0x1; //使能INT FLAG SEQ1的中断请求
AdcRegs.ADCTRL2.bit.RST_SEQ1 = 0x01; //复位SEQ1为初始状态
AdcRegs.ADCREFSEL.bit.REF_SEL = 0x00; //设置为外部基准电压
AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x0; //选择采样通道
AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 0x1;
AdcRegs.ADCCHSELSEQ1.bit.CONV02 = 0x2;
AdcRegs.ADCCHSELSEQ1.bit.CONV03 = 0x3;
//AdcRegs.ADCCHSELSEQ2.bit.CONV04 = 0x4;
//AdcRegs.ADCCHSELSEQ2.bit.CONV05 = 0x5;
//AdcRegs.ADCCHSELSEQ2.bit.CONV06 = 0x6;
//AdcRegs.ADCCHSELSEQ2.bit.CONV07 = 0x7;
//AdcRegs.ADCCHSELSEQ3.bit.CONV08 = 0x8;
//AdcRegs.ADCCHSELSEQ3.bit.CONV09 = 0x9;
//AdcRegs.ADCCHSELSEQ3.bit.CONV10 = 0xA;
//AdcRegs.ADCCHSELSEQ3.bit.CONV11 = 0xB;
//AdcRegs.ADCCHSELSEQ4.bit.CONV12 = 0xC;
//AdcRegs.ADCCHSELSEQ4.bit.CONV13 = 0xD;
//AdcRegs.ADCCHSELSEQ4.bit.CONV14 = 0xE;
//AdcRegs.ADCCHSELSEQ4.bit.CONV15 = 0xF;
AdcRegs.ADCMAXCONV.bit.MAX_CONV1 = 3; // Set up ADC to perform 4 conversions for every SOC
} |
|