Я получил struct
с 3 16-битные значения во встроенной системе:Как передать структуру как массив?
struct {
uint16_t x;
uint16_t y;
uint16_t z;
};
struct
будет передаваться в другую систему под управлением того же программного обеспечения на том же оборудовании. Передача осуществляется путем отправки серии из 8 8-битных значений (send_data(uint8_t *data)
).
Моя идея просто дать send_data
адрес структуры. Два последних байта считаются мусором. Будет ли это работать? Это безопасно?
Принимая зависимость от структуры и порядка байтов полей, не является самой большой идеей. Эти два фантомных байта также могут быть байтом, вызвав ошибку процессора. Но вы, вероятно, можете заставить его работать. Написание кода, так что это никогда не проблема, конечно, это не то, что вы должны уволить, я бы этого не сделал. –