У меня есть структура:
typedef struct {
uint8_t month; // 1..12 [4 bits]
uint8_t date; // 1..31 [5 bits]
uint8_t hour; // 00..23 [5 bits]
uint8_t minute; // 00..59 [6 bits]
uint8_t second; // 00..59 [6 bits]
} TimeStamp;
но я хотел бы упаковать его, поэтому он потребляет всего 4 байта вместо 5.
Есть ли способ смещения бит для создания более строгой структуры?
Это может показаться маловероятным, но он входит в EEPROM, поэтому 1 байт сохраняется дополнительно 512 байт на странице 4 Кб (и я могу использовать эти дополнительные 6 бит, оставшиеся для чего-то еще).