uint16_t als ASCII mit HAL_UART_Transmit

OP #6390338
Lesenswert?

Moin Leute,
ich lese Sensordaten die wie folgt definiert sind werden.
1
typedef struct {
2
    uint8_t  sensor_id;
3
    int16_t x;
4
    int16_t y;
5
    int16_t z;
6
    int16_t w;
7
    int16_t estimated_accuracy;
8
} bhy_data_quaternion_t;

In d er Callback funktion nachdem neue Daten eingelesen wurden, versuche 
ich sie wie folgt per Uart an meine serielle Schnittstelle zu senden.
1
HAL_UART_Transmit(&huart2,(uint8_t*)&sensor_data->data_quaternion.x, 16, HAL_MAX_DELAY);

Ankommen tuen aber nur undefinierbare Zeichen die Putty nicht erkennt. 
Ist der typecast nicht richtig oder stimmt vielleicht was anderes nicht. 
Würde mich über tipps freuen !-
Gast #6390374
Lesenswert?

Harry L. schrieb:
> Ganz nebenbei ist deine struct eben NICHT 16 Byte groß
ungepakt dürften es 48 Bytes sein, wenn es sich um einem 32bit-Prozessor 
handelt, und die struct nicht "gepacked" wurde.

Für sowas gibt es dann aber auch "sizeof()"...

Harry L. schrieb:
> Du kennst den Unterschied zwischen Binär-Daten und
> human-readable-Strings?

Dem sollte man kennen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren