Question
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: Quelle est la signification de "ADMUX = adc_input | (0x00 et 0xFF)"? le canal d'entrée, nous avons choisi ici?
La solution
0x00 & 0xFF
est absurde, car il sera toujours évaluer à 0. Vous pouvez réécrire cette ligne comme ADCMUX = adc_input;
Votre chaîne sélectionnée sera la valeur stockée dans adc_input
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow