作为初学C程序员,我想知道,在设备中设置控制位的最佳易读和易于理解的解决方案是什么.有标准吗?任何模仿的示例代码?谷歌没有给出任何可靠的答案.
我看到的第一种方法是简单地设置所需的位.它在评论中需要一堆解释,似乎并不是那么专业.
DMA_base_ptr[DMA_CONTROL_OFFS] = 0b10001100;
Run Code Online (Sandbox Code Playgroud)
我看到的第二种方法是创建一个位域.我不确定这是否应该坚持,因为我从未遇到过以这种方式使用它(与我提到的第一个选项不同).
struct DMA_control_block_struct
{
unsigned int BYTE:1;
unsigned int HW:1;
// etc
} DMA_control_block_struct;
Run Code Online (Sandbox Code Playgroud)
其中一个选项比另一个更好吗?有没有我没看到的选择?
任何建议都将受到高度赞赏