Hallo, ich möchte über einen beliebigen port zb p1.0 bytes ausgeben kann man das mit ner for schleife tun zb for (u = 0; u<= 2; u++) { P1.0 = (char)daten; // Daten schreiben } usw
An einem Port-pin (also seriell) so wie ich das sehe. Dann müsste man das z.B. so machen:
1 | void send_byte(char byte){ |
2 | char i; |
3 | for(i = 0; i < 8; i++){ |
4 | if(byte & 0x01) |
5 | p1.0 = 1; |
6 | else
|
7 | p1.0 = 0; |
8 | byte >>= 1; |
9 | }
|
10 | }
|
Ich denke das sollte so gehen.
Das ganze würde natürlich das LSB zuerst rausschieben. Willst du das MSB zuerst rausschieben musst du natürlich mit 0x80 verUNDen und eben linksschieben
Sorry hab schon wieder was vergessen. Das Beispiel da oben, bringt dir natürlich nur was wenn die gegenstelle auch weiss wo ein Bit aufhört und wo das nächste anfängt. Also muss man noch irgentwie einen Takt auf einem anderen Pin ausgeben.
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.