3068|8

411

帖子

9

TA的资源

一粒金砂(高级)

楼主
 

结构体中 “ u8 Dat2 : 7; ”是个什么写法,这个什么意思? [复制链接]

看下面这个程序,其中“    u8 Dat2 : 7;  ”是个什么写法,这个什么意思?结构体还能这么赋值咋滴?

typedef struct {
//    u32 Dat : 23;
//    u32 S : 1;
    u8 Dat0;
    u8 Dat1;
    u8 Dat2 : 7;
    u8 S : 1;            
} sDF09;

此帖出自stm32/stm8论坛

最新回复

真的,我實際上很少使用這種方式了   详情 回复 发表于 2022-5-30 21:39
点赞 关注
 

回复
举报

5304

帖子

453

TA的资源

五彩晶圆(高级)

沙发
 

百度:位域

此帖出自stm32/stm8论坛
 
 

回复

6773

帖子

2

TA的资源

版主

板凳
 

就是这一个变量占这个变量类型的几位。

u32 Dat:23,Dat占32位中的23位。

此帖出自stm32/stm8论坛
 
 

回复

2549

帖子

0

TA的资源

五彩晶圆(初级)

4
 

主要现在的MCU的空间比较大,所以很少有这么去省的,除非大工程了

此帖出自stm32/stm8论坛

点评

真的,我實際上很少使用這種方式了  详情 回复 发表于 2022-5-30 21:39
 
 
 

回复

224

帖子

0

TA的资源

一粒金砂(高级)

5
 

就是位段,有时存储信息不需要完整字节,只需要几个二进制。这个真不常用

此帖出自stm32/stm8论坛
 
 
 

回复

7452

帖子

2

TA的资源

五彩晶圆(高级)

6
 

位域,寄存器操作里面很多地方操作起来很方便,

此帖出自stm32/stm8论坛
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复

26

帖子

0

TA的资源

一粒金砂(中级)

7
 

位域操作。

优点:方便位操作。

普通情况下C语言的最小的数据类型位char, 也就是一个字节,如果要该字节中的位进行操作,需要进行移位, 然后进位或 位与等位操作,用起来比较麻烦。所以C语言增加了位域语法,可以给每一个位域增加一个名字,方便操作。

例如

typedef 

{

    uint8_t  power_valid :1;

    uint8_t  power_mode :4;

    uint8_t  gear_position :3;

}status_t;

 

缺点:降低移植性,一旦芯片位序不同,就需要对所有位域定义进行调整

位序是对于位排列方式的定义,分为MSB(Most Significant Bit)和LSB(Most Significant Bit),即先放最高位(位顺序由高到低) 还是最低位(位顺序由低到高)。例如对于一个物理内存中字节如果其值为二进制 1000 0000,MSB会将其解释为 0x80, LSB会将其解释为0x01。如果直接使用移位、位与、位或等运算符进行操作,则不会出现这个问题。

 

此帖出自stm32/stm8论坛
 
 
 

回复

10

帖子

1

TA的资源

一粒金砂(中级)

8
 

受教了!好有创意,俺作为学生党很喜欢,在实践过程中受益匪浅

此帖出自stm32/stm8论坛
 
 
 

回复

114

帖子

6

TA的资源

一粒金砂(中级)

9
 
数码小叶 发表于 2022-4-20 14:01 主要现在的MCU的空间比较大,所以很少有这么去省的,除非大工程了

真的,我實際上很少使用這種方式了

此帖出自stm32/stm8论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表