0
uint read_adc(uchar adc_input)

{

ADMUX=adc_input | (0x00 & 0xff);

delay_us(10);

ADCSRA|=0x40;     //START THE CONVERSION

while ((ADCSRA & 0x10)==0);     // wait for the conversion to complete

ADCSRA|=0x10;   //clear the ADC flag

return ADCW;

}

Q:「ADMUX = adc_input |(0x00&0xff)」の意味は何ですか?ここで選択した入力チャネルはどれですか?

4

1 に答える 1

1

0x00 & 0xFF常に0と評価されるため、無意味です。その行を次のように書き直すことができます。ADCMUX = adc_input;

選択したチャンネルは、に保存されている値になりますadc_input

于 2010-05-10T19:00:29.017 に答える