打印
[应用相关]

位段的操作

[复制链接]
1149|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dongnanxibei|  楼主 | 2020-10-21 16:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有时候为了方便读取某个寄存器的某些位段,可以将其定义为联合体。将位段作为结构体,与寄存器进行联合。
void test7(void)
{
        typedef union
        {
            unsigned int allBits;
            struct
            {
                unsigned a :4;
                unsigned b :4;
                unsigned c :4;
                unsigned d :4;

            };
        }Sta;
        Sta ss;
        ss.allBits=0x1234;
        printf("0x%x\n",ss.allBits);
//主意a是低4位,b是高4位
        ss.a=0x1;
        ss.b=0x2;
        ss.c=0x03;
        ss.d=0x04;
        printf("0x%x\n",ss.allBits);
       
}


使用特权

评论回复
沙发
dongnanxibei|  楼主 | 2020-10-21 16:55 | 只看该作者
刚才从某个大佬那学到的。分享过来。

使用特权

评论回复
板凳
airwill| | 2020-10-21 22:44 | 只看该作者
位段, 这个功能在初步弱化,  由于编译器的支持太弱,  现在到处都称不推荐采用.
其实用好了, 还是有些优势的.

使用特权

评论回复
地板
zhuomuniao110| | 2020-10-22 22:48 | 只看该作者
还能这么用啊。

使用特权

评论回复
5
zhuomuniao110| | 2020-10-22 22:49 | 只看该作者
airwill 发表于 2020-10-21 22:44
位段, 这个功能在初步弱化,  由于编译器的支持太弱,  现在到处都称不推荐采用.
其实用好了, 还是有些优势 ...

是的,我看很多单片机厂家的头文件有出现这个概念的

使用特权

评论回复
6
和下土| | 2020-10-23 23:28 | 只看该作者
这个概念是大致相同的。

使用特权

评论回复
7
yiyigirl2014| | 2020-10-24 17:24 | 只看该作者
还是挺有用的。

使用特权

评论回复
8
airwill| | 2020-10-25 10:46 | 只看该作者
硬件库里大量的寄存器位操作,  也没有看到库里使用 位段 来处理

使用特权

评论回复
9
观海| | 2020-11-13 11:20 | 只看该作者
用联合体会不会有隐患啊

使用特权

评论回复
10
guanjiaer| | 2020-11-13 11:21 | 只看该作者
这样处理的优势是什么

使用特权

评论回复
11
heimaojingzhang| | 2020-11-13 11:23 | 只看该作者
会不会出现操作失误读取错误数据的情况呢

使用特权

评论回复
12
keaibukelian| | 2020-11-13 11:24 | 只看该作者
用这种形式 会不会占用太多资源呢

使用特权

评论回复
13
labasi| | 2020-11-13 11:26 | 只看该作者
不错的办法 可以试试看

使用特权

评论回复
14
dongnanxibei|  楼主 | 2020-11-24 23:23 | 只看该作者
keaibukelian 发表于 2020-11-13 11:24
用这种形式 会不会占用太多资源呢

这种方法是节约资源的。

使用特权

评论回复
15
dongnanxibei|  楼主 | 2020-11-24 23:24 | 只看该作者
heimaojingzhang 发表于 2020-11-13 11:23
会不会出现操作失误读取错误数据的情况呢

不会的,怎么会。

使用特权

评论回复
16
dongnanxibei|  楼主 | 2020-11-24 23:26 | 只看该作者
guanjiaer 发表于 2020-11-13 11:21
这样处理的优势是什么

方便对位的操作。

使用特权

评论回复
17
yichunshan| | 2020-11-25 11:56 | 只看该作者
没觉得好在哪里

使用特权

评论回复
18
dongnanxibei|  楼主 | 2020-11-25 12:03 | 只看该作者

很多厂家的头文件都有这种应用。

使用特权

评论回复
19
yichunshan| | 2020-11-25 12:05 | 只看该作者
dongnanxibei 发表于 2020-11-25 12:03
很多厂家的头文件都有这种应用。

知道
我是说没觉得好在哪里。

使用特权

评论回复
20
海滨消消| | 2020-11-25 15:46 | 只看该作者
会出现操作失误读取错误数据的情况不?看不上感觉不错

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

201

主题

3587

帖子

16

粉丝