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

标题: [求助]怎样对变量进行位操作?? [打印本页]

作者: min    时间: 2012-8-18 15:05
标题: [求助]怎样对变量进行位操作??
我试过了用定义寄存器的方法定义可以位操作的变量,发现不行啊!
如:
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 ;
的时候报错,报类型不匹配和语法等错误。


请问应该如何定义才能在上面的应用中不出错呢????????

作者: star    时间: 2012-8-18 16:40
你这个问题应该是第二个语句出现问题,结构体不能整体通过其他类型的变量赋值,如果你想整体赋值,只能通过另一个结构体来赋值。




欢迎光临 英锐恩单片机论坛,Microchip单片机,模拟器件,接口电路,麦肯单片机,单片机应用交流 (http://enroobbs.com/) Powered by Discuz! X3.2