Как обьединить переменные uint16_t с элементами

Olm
Offline
Зарегистрирован: 09.10.2014

Люди подскажите как обьединить несколько переменных uint16 с массивом uint8[], чтоб переменные были элементами этого массива. Хочу так обьединить чтоб отправлять эти переменные по uart как элементы массива побайтно.



uint16_t temperature_1; //0 1

uint16_t temperature_2; //2 3

uint16_t temperature_3; //4 5

uint16_t temperature_4; //6 7

uint16_t temperature_5; //8 9

uint16_t temperature_6; //10 11

uint16_t oil_pressure; //12 13

uint16_t power_load; //14 15

uint16_t rpm_speed; //16 17 



эти переменные должны быть элементами массива uint8_t massive[18];

Я так понимаю что нужно использовать union, но не могу найти примера как это должно выглядеть

Radjah
Offline
Зарегистрирован: 06.08.2014

Может вместо массива лучше структуру сделать?

SU-27-16
SU-27-16 аватар
Offline
Зарегистрирован: 13.08.2012

union 16x9_8x18
{
    uint16_t param16[9];
    uint8_t   param08[18];
};
.......................

16x9_8x18 Buffer;
.......................
Buffer.param16[i]=........;

может быть так ( учусь ) ? .....просто присоединился к теме :)