Hallo Ich bin noch C Anfänger. Ich möchte eine Zahl z.B. vom Typ Integer in die einzelnen Byte umwandeln damit ich sie über UART zurücksenden kann. Z.B. BYTE W1; BYTE W2; Int Wert; Wert = 300; Entspricht $12C W1 = $2C = 44; W2 = $01 = 1; Wie mache ich das? Gruss Blei
Ganz schnell:
1 | char W1; |
2 | char W2; |
3 | int Wert=0x5425; |
4 | |
5 | W1 = Wert & 0xFF; |
6 | W2 = (Wert>>8); |
Dann hast du in W1 das LSB und in W2 das MSB
Oder: Großer_Typ Variable; char* Bytes = (char*)(&Variable); for (int i = 0; i < sizeof(Großer_Typ); i++) Send(Bytes[i]); MFG(Wenns nicht geht, dann sry - ist ausm Kopf geschrieben.)
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.