Quantcast
Channel: Microchip Taiwan :: 論壇
Viewing full articles (4647 articles)
Browse article index
↧

Re: 12F1822 AN0無法讀取 [發表者 OuO...]

$
0
0
8-bit PIC (請註明使用元件編號):: 12F1822 AN0無法讀取
我覺得是執行 ADGO = 1 之後,
並沒有等待 ADC 轉換完成的關係.

因為程式中的 if(ADIE && ADIF),
只會判斷是否已經有轉換完成的數值可取.
並沒有實際等待 ADC 進行轉換工作.


請試試如下:

OSCCON = 0X70;
APFCON = 0x00;
WPUA = 0x00;
ANSELA = 0x13;
PORTA = 0x08;
LATA = 0x00;

TRISA = 0x17;

FVRCON = 0x82;
ADCON1 = 0xE0;
ADON = 1;
INTCON = 0xF0;

ADCON0 &= 0x83;
ADCON0 |= 0x00;
ADIE = 1;
ADGO = 1;

while(ADGO == 1); // <--- Wait ADC converting

if(ADIE && ADIF)
{
ADIE = 0;
ADGO = 0;
fbk_reg = ADRESH;
fbk_reg <<= 8;
fbk_reg += ADRESL;
ADIF = 0;
}

當然, 如果是這樣改時...
if(ADIE && ADIF) 看起來就沒有必要了, 你可以將它去掉.
↧

Viewing full articles (4647 articles)
Browse article index

Latest Images

Trending Articles



Latest Images