uint32_t a;
uart1_puthex_byte(sizeof(a));//0x04
a = (0x01<<24)|(0x02<<16)|(0x03<<8)|(0x04);
//main.c:415: warning: left shift count >= width of type
//main.c:415: warning: left shift count >= width of type
uart1_puthex_word(a>>16);//0x0000
uart1_puthex_word(a&0x0000ffff);//0x0304
Почему компилятор жалуется, что при сдвиге выход за границы, если размер типа 4 байта?
Как скомпоновать в uint32_t 4 байта?