2010-05-10 2 views
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)"의 의미는 무엇입니까? 어떤 입력 채널을 선택 했습니까?atmega32의 ADC 코드

답변

1

0x00 & 0xFF는 항상 0으로 평가합니다과 같이 ADCMUX = adc_input;으로 그 선을 다시 작성할 수 있습니다, 무의미한입니다

선택 귀하의 채널이 값이 adc_input

에 저장됩니다