-
-
Neuer Benutzer
Öfters hier
Verständnisfrage zur Snake/Line Data Funktion
Ich hab meinen Asuro mit der Snake Platine ausgerüstet und folgendes PRoblem dabei gehabt:
Das Auslesen der TempWerte ergab, dass der rechte Wert korrekt erfasst wurde, und der linke Wert abwechselnd korrekt und inkorrekt (annähernd 0), dann korrekt, inkorrekt etc....
Ich hatte die Funktion zum Auslesen aus dem Buch "Mehr SPaß mit ASURO 2". Diese verglichen mit der Funktion "LineData" zeigte eine gewisse Ähnlichkeit. Außer der von mir als Kommentar markierten Befehle, die ich fortan weg lassen werde. Denn es funzt jetzt Kann mir jemand die (auch grobe) BEdeutung dieser/dieses Befehls erläutern und vlt ne persönliche Meinung, ob ich sie auch wirklich weg lassen DARF ?
void TempWerte(unsigned int *data)
{
ADMUX = (1 << REFS0) |/* (1 << REFS1) |*/ IR_LEFT;
ADCSRA |= (1 << ADSC);
while (!(ADCSRA & (1 << ADIF)));
ADCSRA |= (1 << ADIF);
data[0] = ADCL + (ADCH << 8 );
ADMUX = (1 << REFS0) /*| (1 << REFS1) */| IR_RIGHT;
ADCSRA |= (1 << ADSC);
while (!(ADCSRA & (1 << ADIF)));
ADCSRA |= (1 << ADIF);
data[1] = ADCL + (ADCH << 8 );
}
-
ich nehm einfach mal an auf dem teil ist ein atmega8 eingebaut.
damit wird die analog digital converter referenz spannung beeinflusst.
"(1 << REFS0) | (1 << REFS1)" = interne 2.56 volt referenz.
"(1 << REFS0) /*| (1 << REFS1)" = avcc
mehr dazu im datenblatt.
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen