Forum: Mikrocontroller und Digitale Elektronik binäre Zeichen mit dem USART senden


von Ben (Gast)


Lesenswert?

wahrscheinlich ist das ne sehr dumme frage, aber will nur sicher gehen! 
das senden mache ich immer so:

void USART_Transmit( unsigned char data )
{
/* Wait for empty transmit buffer */
while ( !( UCSRA & (1<<UDRE)) )
;
/* Put data into buffer, sends the data */
UDR = data;
}

bis jetzt habe ich immer irgendwelche zeichen wie 'a','b','c' usw 
übertragen:
Bsp. UDR='x';

jetzt möchte ich aber keine zeichen sondern binäre und hex. zahlen 
senden!
geht das einfach so:
Bsp UDR=0xA9; oder UDR=0b01101110;

sorry für die dumme frage, aber ist ziemlcih wichtig, dass zum voraus zu 
wissen! besten dank!

von 2919 (Gast)


Lesenswert?

Es geht einfach so. Ein UART kennt den Begriff des Characters eh nicht.

von jack (Gast)


Lesenswert?

>wahrscheinlich ist das ne sehr dumme frage, aber will nur sicher gehen!

Leider muß ich dir recht geben ;-)

Du kannst doch jeden beliebigen Wert zwischen 0 und 255 übertragen.

von Ralph (Gast)


Lesenswert?

Ein Problem bekommst du mit nicht CHAR nur wenn du an einen PC mit einem 
Terminalprogramm sendest, weil dieses jedes empfangene Zeichen als CHAR 
interpretiert.

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
Noch kein Account? Hier anmelden.