OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2058|回复: 4

C语言 位域结构体赋值问题

[复制链接]

4

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
149
金钱
149
注册时间
2019-2-1
在线时间
115 小时
发表于 2019-10-21 13:57:24 | 显示全部楼层 |阅读模式
10金钱
有个结构体
struct{
  uint8_t test_a: 2;
  uint8_t test_b: 2;
  uint8_t test_c : 1;
}data[9];

uint8_t display[9] = {0};

keil中编译时
display[0] = data[0];             不通过
display[0] = (uint8_t)data[0]; 不通过

display[0] = *(uint8_t *)&data[0]; 通过了,但是display数据不对;



sizeof(data[0])= 0x01;



求大神指点怎么把位域结构体的数据整体赋值给其他变量


正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

51

帖子

0

精华

高级会员

Rank: 4

积分
530
金钱
530
注册时间
2017-7-25
在线时间
188 小时
发表于 2019-10-21 14:06:58 | 显示全部楼层
回复

使用道具 举报

4

主题

28

帖子

0

精华

初级会员

Rank: 2

积分
149
金钱
149
注册时间
2019-2-1
在线时间
115 小时
 楼主| 发表于 2019-10-21 14:09:13 | 显示全部楼层

嗯嗯,我试试
回复

使用道具 举报

51

主题

2166

帖子

2

精华

论坛元老

Rank: 8Rank: 8

积分
10653
金钱
10653
注册时间
2017-4-14
在线时间
2780 小时
发表于 2019-10-21 14:15:58 | 显示全部楼层
分段位域好像就是没法整体赋值,小端大端都不行  你的这个test_a的两位给整体怎么都是反的
回复

使用道具 举报

12

主题

146

帖子

0

精华

高级会员

Rank: 4

积分
922
金钱
922
注册时间
2018-7-18
在线时间
385 小时
发表于 2019-10-21 15:18:03 来自手机 | 显示全部楼层
都不是同种类型数据,赋值肯定出错呀
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-2 20:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表