Можно пойти двумя путями, в зависимости от того что нужно.
Первый, использование препроцессора:
Код
#define LOBYTE(w) ((uint8_t)((uint16_t)(w)))
#define HIBYTE(w) ((uint8_t)((uint16_t)(w) >> 8))
#define MAKEWORD(a,b) ((uint16_t)(((uint8_t)(a)) | ((uint16_t)((uint8_t)(b))) << 8))
Второй, использование объединения:
Код
union
{
uint16_t val_16;
uint8_t val_8[2];
} val;