Hallo zusammen, ich lese den ADC eines ATmegas aus (10Bit) brauche aber nur die letzten 8 Bit. Ich programmiere in C. Darf ich das so machen: uint8_t Wert Wert = ADCW >> 2; Oder gibt es irgend einen Typecast um von einer 16bit variablen auf ein 8 Bitter zu kommen? Danke
hm ... wusste nicht, dass das geht. Danke, werde ich gleich mal nachschauen. Das "Problem" gibt es aber immer noch ... Ich habe noch eine andere 16bit Variable, bei der auch nur die hoechstwertigen 8 Bit gespeichert werden sollen. Wie kann man das sauber in einer 8 Bit Variable speichern?
avr-beginner schrieb: > Wie kann man das sauber in einer 8 Bit > Variable speichern? Wert = (uint_8)(ADCW & 0xFF) aber wenn du ihn im 8Bit modus betreibst kann du doch einfach Wert = ADCL machen.
Das gilt nur für 8bit Modus. Bei 10 Bit isses: Wert = (uint8_t)(ADC >> 2)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.