實(shí)驗(yàn)程序設(shè)計(jì)及分析
設(shè)定ADC轉(zhuǎn)換速率,之后啟用ADC功能,判斷轉(zhuǎn)換是否開始并轉(zhuǎn)換結(jié)束,返回ADC采集到的數(shù)據(jù)。
int ReadAdc(int ch)
{
int i;
static int prevCh=-1;
if(prevCh!=ch)
{
rADCCON = (1<<14)|(preScaler<<6)|(ch<<3); //setup channel
for(i=0;i<LOOP;i++); //delay to set up the next channel
prevCh=ch;
}
rADCCON|=0x1; //start ADC
while(rADCCON & 0x1); //check if Enable_start is low
while(!(rADCCON & 0x8000)); //check if EC(End of Conversion) flag is high