相关疑难解决方法(0)

比特操纵良好做法

作为初学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)

其中一个选项比另一个更好吗?有没有我没看到的选择?

任何建议都将受到高度赞赏

c standards bit

34
推荐指数
5
解决办法
2827
查看次数

标签 统计

bit ×1

c ×1

standards ×1