英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流

 找回密码
 立即注册
搜索
电子烟方案单片机单片机开发深圳单片机开发
单片机方案国产单片机8位单片机电子烟方案开发
查看: 3912|回复: 1
打印 上一主题 下一主题

[求助]怎样对变量进行位操作??

[复制链接]
跳转到指定楼层
1#
发表于 2012-8-18 15:05:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我试过了用定义寄存器的方法定义可以位操作的变量,发现不行啊!
如:
typedef   struct  REG{

     unsigned b0:1;
     unsigned b1:1;
     unsigned b2:1;
     unsigned b3:1;
     unsigned b4:1;
     unsigned b5:1;
     unsigned b6:1;
     unsigned b7:1;
}REGBits;
extern volatile REGBits  REGs;

然后在使用
unsigned char ch;
REGs=ch;
SDA24=REGs.b0 ;
的时候报错,报类型不匹配和语法等错误。


请问应该如何定义才能在上面的应用中不出错呢????????
2#
发表于 2012-8-18 16:40:46 | 只看该作者
你这个问题应该是第二个语句出现问题,结构体不能整体通过其他类型的变量赋值,如果你想整体赋值,只能通过另一个结构体来赋值。
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|公司首页|Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 ( 粤ICP备09008620号 )

GMT+8, 2024-4-27 18:43 , Processed in 0.053436 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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