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!
Es geht einfach so. Ein UART kennt den Begriff des Characters eh nicht.
>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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.