Forum: Compiler & IDEs kleine Frage 32-BitZahl per Uart übertragen.


von Marc G. (marc_gauger)


Lesenswert?

ICh möchte eine 16-Bit Variable per Uart übertragen aber der kann ja nur 
8 bitVariablen, wie zerteile ich meine 32Bit-Variable in 4 x 8bit 
Variablen?

Bin noch neu auf dem Gebiet.

Gruß Marc

von Simon K. (simon) Benutzerseite


Lesenswert?

Hm? Try something like this:
1
uint32_t Value;
2
3
uart_send((uint8_t) (Value >> 24) & 0xFF);
4
uart_send((uint8_t) (Value >> 16) & 0xFF);
5
uart_send((uint8_t) (Value >> 8) & 0xFF);
6
uart_send((uint8_t) (Value >> 0) & 0xFF);

"uart_send" ist natürlich auszutauschen mit dem Namen deiner 
UART-Sendefunktion.

von Sven G. (s705081)


Lesenswert?

Würde auch so gehen:

typedef mytype union {
    t_u32 Value;
    t_u8   bytes[4];
} _attribute_ ((_packed_));

mytype val;

val.Value=0xaa55cc33;

uart_send_buffer( &val.bytes );

Gruss Sven


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
Noch kein Account? Hier anmelden.