程序代碼如下: // SD24初始化
void ADC_SD24_Intil(void)
{
unsigned int i;
// 內(nèi)部通道0 單通道單詞轉(zhuǎn)換 中斷模式
SD24CTL |= SD24REFON + SD24SSEL0; // 1.2V ref, SMCLK
SD24CCTL0 |= SD24SNGL+SD24UNI+SD24IE; // Single convp ,enable interrupt 單通道單次轉(zhuǎn)換 單極性 偏移二進(jìn)制
// 過(guò)采樣率默認(rèn)值 256
SD24INCTL0 |= SD24INTDLY0; // Interrupt on 3rd sample 增益為1 默認(rèn)通道為0
for (i = 0; i < 0x3600; i++); // Delay for 1.2V ref startup
}
// 定時(shí)器控制SD24采樣啟動(dòng)
#pragma vector=TIMERA0_VECTOR
__interrupt void TIMER_A (void)
{
static unsigned int Tn=0;
Tn++;
if(!(Tn%200)) SD24CCTL0 |= SD24SC;
} #pragma vector=SD24_VECTOR
__interrupt void SD24AISR(void)
{
switch (SD24IV)
{
case 2: // SD24MEM Overflow
break;
case 4:
adcresult_mid[0] = SD24MEM0; // 讀取數(shù)據(jù)
adcresult_mid[1] = SD24MEM0; // 讀取數(shù)據(jù)
adc_over_flag =1;
break;
case 6:
break;
case 8:
break;
default:
break;
}
} 信號(hào)由A0.0+ , A0.0- 輸入,其中A0.0+接模擬信號(hào),A0.0- 接1.25V參考。
測(cè)試時(shí),A0.0+上的電壓大約0.414V, 結(jié)果發(fā)現(xiàn),單極性采樣的數(shù)據(jù),要么是全0, 要么是全FF, 是怎么回事,,改為雙極性采樣時(shí)也是一樣的結(jié)果,請(qǐng)指點(diǎn)一下,是什么地方有設(shè)置錯(cuò)誤嗎?
弄了 幾天,一直沒(méi)頭緒!!
|