[Solved] How to put a hex value into a 24 bit struct


If you have control of your input format, i.e. you can guarantee it will always be something like 0xabc, then you can try:

const char input[] = "0xabc";
uint32_t tmp;
sscanf(input, "0x%x", &tmp);

struct cmd cmdid;
cmdid.a = (tmp & 0xFF0000U) >> 16;
cmdid.b = (tmp & 0xFF00U) >> 8;
cmdid.c = (tmp & 0xFFU);

1

solved How to put a hex value into a 24 bit struct