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;

}

问:“ADMUX=adc_input | (0x00 & 0xff)”是什么意思?我们在这里选择了哪个输入通道?

4

1 回答 1

1

0x00 & 0xFF是荒谬的,因为它总是评估为 0。您可以将该行重写为ADCMUX = adc_input;

您选择的频道将是存储在adc_input

于 2010-05-10T19:00:29.017 回答