步骤:
1.对AD模块进行复位。注:这个步骤在大部分例程里没看到,但是我下载的例程本身有这一句,从逻辑上讲这一句代码是非常有必要的。
AdcRegs.ADCTRL1.all = ADC_RESET_FLAG; // Reset the ADC Module,复位整个ADC模块
asm(" NOP "); // 指汇编指令nop,即空操作,执行时间为一个时钟周期时间。
asm(" NOP ");
2.使能AD时钟以及执行ADC_cal():执行ADC_cal()函数是TI官方要求的,固定写法。
EALLOW;
SysCtrlRegs.PCLKCR0.bit.ADCENCLK = 1;
ADC_cal();
EDIS;
3.对ADC模块三个关键的寄存器ADCTRL1,ADCTRL2,ADCTRL3进行设置:
(1)ADCTRL1设置:
- SEQ_CASC 排序器模式:级联排序器模式;
- SEQ_OVER 排序器运行方式:转换完MAX_CONVn个通道后,排序器指针复位到初始状态;(注:这一寄存器的设置貌似只