Как можно представить объедение union для массива и разбиением каждой ячейки массива на младший и старший разряды

Мне нужно сделать объедение union для массива. К каждой ячейки массива должен быть доступ с старшему и младшему байту. Попытался сделать вот так:

    typedef union{
    uint16_t word[32];
    struct{
        uint8_t Ho[32];
        uint8_t Lo[32];
    };
} _DIO_MIN;

Получил следующею раскладку сначала идут слова word потом Ho потом Lo. А должно быть что каждая ячейка word[] могла раскладываться на Ho и Lo.

После эта структура помещается в структуру:

typedef struct DIO{
   _DIO_MIN DIO_MIN[63];       
   _DIO_MID DIO_MID[32];            
 } _SysMem;

Ответы (1 шт):

Автор решения: Harry

Так годится?

typedef union
{
    uint16_t word;
    struct {
        uint8_t lo;
        uint8_t hi;
    };
} array[32];

Пример тут.

→ Ссылка