Du kannst die beiden bytes auch einzeln schicken.
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;
Den Overhead das in ein String zu konvertieren brauchst du nicht, das geht am PC einfacher mit itoa oder sprintf.
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
Lesezeichen