Du kannst die beiden bytes auch einzeln schicken.
Den Overhead das in ein String zu konvertieren brauchst du nicht, das geht am PC einfacher mit itoa oder sprintf.Code:short s; //bit 0-15 unsigned char low; // bit 0-7 unsigned char high; // bit 8-15 // auseinanderbauen: low = (unsigned char) (s & 0x00ff); high = (unsigned char) (((s>>8) & 0x00ff); //zusammen setzen s = ((short) high << 8) | low;
Oder ganz ohne Überflüssigen Code mit einem Komposit:
Code:typedef union { unsigned short s; struct { unsigned char low; unsigned char high; }; } __attribute__((packed)) data_t; data_t data; // Zugriff über data.s, data.high und data.low







Zitieren

Lesezeichen