开发者

ADC code in with atmega32

uint read_adc(uchar adc_input)

{

ADMUX=adc_inpu开发者_开发技巧t | (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: Whats the meaning of "ADMUX=adc_input | (0x00 & 0xff)" ? which input channel we have selected here ?


0x00 & 0xFF is nonsensical, as it will always evaluate to 0. You can rewrite that line as ADCMUX = adc_input;

Your channel selected will be the value stored in adc_input

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜