-
-
Erfahrener Benutzer
Begeisterter Techniker
8-Bit AD-Wandlung
Hi,
ich bin dabei eine AD-Wandlung zu machen. Allerdings bin ich mit GCC noch nicht so fit. Unter Assembler kann man ja schön Low- und High-Byte auslesen, und mit der Ausrichtung festlegen, ob man die oberen oder die unteren 8 bit haben möchte.
Geht so etwas auch unter gcc? Wichtig wäre mir, dass ich kein 16bit Register mehr brauche, um den 10bit Wert einzulesen, da 16bit-Register einfach nicht atomar für einen 8-bit Prozessor sind.
Geht das irgendwie, oder muss man wirklich erst in 16bit einlesen, und per Shift und Cast das in einen 8bit Wert verkleinern?
MfG, Ozzy
-
Erfahrener Benutzer
Robotik Visionär
Das geht mit einem AVR der ADC hat. Es gibt ein Bit im Register ADMUX das heist ADLAR, mit dem kann man das Ergebnis im 16bit Register ADC linksbündig formatieren. Dann fragt man nur das ADCH ab und hat ein 8bit Ergebnis. Ich weis jetzt nicht ob ich das verständlich formuliert habe, aber schau dir das mal im Datenblatt an.
Hubert
-
Erfahrener Benutzer
Begeisterter Techniker
Hi,
die große Frage ist ja nun, wie man nur ein Byte ausliest...
Weißt Du vielleicht, wie?
MfG, Ozzy
-
Erfahrener Benutzer
Robotik Visionär
Wenn die Konversion komplett ist, ich mach das immer im Interrupt, dann sagt man " wert = ADCH; " und hat den Inhalt von ADCH in wert und kann von dort weiterarbeiten.
Hubert
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen