1335|8

529

帖子

9

资源

一粒金砂(高级)

结构体中 “ 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论坛

回复

6106

帖子

455

资源

五彩晶圆(高级)

百度:位域


回复

2325

帖子

0

资源

版主

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

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


回复

2554

帖子

0

资源

纯净的硅(高级)

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

点评

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

回复

240

帖子

0

资源

一粒金砂(高级)

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


回复

5832

帖子

18

资源

五彩晶圆(中级)

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

个人签名

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


回复

26

帖子

0

资源

一粒金砂(中级)

位域操作。

优点:方便位操作。

普通情况下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。如果直接使用移位、位与、位或等运算符进行操作,则不会出现这个问题。

 


回复

9

帖子

0

资源

一粒金砂(中级)

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


回复

95

帖子

6

资源

一粒金砂(中级)

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

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


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

相关帖子
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
    推荐帖子
    关于2018年大学生电子竞赛本科组无线充电电动小车

    本人毕设抽到了2018年大学生电赛本科c组无线充电电动小车的题目,在仿真这块我参照了18年天津省电赛组的设计,但是在接收端这块 ...

    求TI培训课程 讲义!

    在观看TI视频培训课程时,感觉很好。 因此,想找该课程的讲义。 可是在课程页面的技术支持、相关产品、相关下载里没有找到。 ...

    DSPF28335关于SPWM的源代码

    本帖最后由 Aguilera 于 2020-4-5 17:04 编辑 源程序如下: /* * main.c */ #include "DSP28x_Project.h" // Devi ...

    步入正题——LSM6DSOX的MLC机器学习理解

    步入正题——LSM6DSOX的MLC机器学习理解 学习前参考了justd0的帖子(http://bbs.eeworld.com.cn/thread-1120851-1- ...

    二极管封装问题

    请各位给看一看这个二极管封装和原理图是不是对的!480028

    【NUCLEO-L552ZE测评】+低功耗测量工具

    现在某创PCB打样5元5片包邮,啥颜色都一个价,爽歪歪。测量低功耗状态下的微弱电流一直没有合适的工具,直到某天看到歪果仁开源 ...

    关闭
    站长推荐上一条 1/7 下一条

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

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

    北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

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