Как начинающему программисту на Си, мне интересно, что было бы лучшим, легким для понимания и понятным решением для установки управляющих битов в устройстве. Есть ли стандарты? Любой пример кода для имитации? Google не дал достоверного ответа.
Например, у меня есть карта блока управления:
Первый способ, который я вижу, состоит в том, чтобы просто установить необходимые биты. Это требует кучу объяснений в комментариях и, кажется, не все так профессионально.
DMA_base_ptr[DMA_CONTROL_OFFS] = 0b10001100;
Второй способ, который я вижу, это создать битовое поле. Я не уверен, стоит ли мне придерживаться этого, поскольку я никогда не сталкивался с таким использованием (в отличие от первого варианта, который я упомянул).
struct DMA_control_block_struct
{
unsigned int BYTE:1;
unsigned int HW:1;
// etc
} DMA_control_block_struct;
Один из вариантов лучше другого? Есть ли варианты, которых я просто не вижу?
Любой совет будет высоко ценится