Hallo! Ich möchte ein Integer-Register auf den UART ausgeben. Also UDR=i; z.B. Das Integerregister ist aber 16 Bit lang und enthält auch so große Zahlen, dass 8 Bit nicht ausreichen. Im Terminalprogramm sehe ich, dass nur ein Byte gesendet wird. Wie kann ich auf einfach Weise 2 Byte senden? Habe im AVRGCC-Tutorial nichts dazu gefunden. Gruß Markus
Da das UDR nur 8 Bit breit ist, musst Du die beiden Bytes nacheinander senden. UDR = i; // Low-Byte senden loop_until_bit_is_set(UCSRA, UDRE); // Warten bis fertig gesednet UDR = (i >> 8); // High-Byte senden
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.