关于我们
技术文章
产品开发 芯片销售 技术顾问 PCBA加工
消费类 民用类 工控类 汽车类 医疗类
栏目导航
内容搜索
联系我们

联系电话: 138O2559739刘生

电子邮件: lmserver@163.com

办公地址: 深圳市宝安区宝民二路25号


技术文章

PIC单片机将一个byte定义成8个位的操作办法

信息来源:lmserver   浏览次数:1610   更新时间:2013-3-31 12:57:05

可以这样做:


typedef struct {
unsigned b0:1, b1:1, b2:1, b3:1, b4:1, b5:1, b6:1, b7:1;
} bits; //先用定义一个变量的位


#define Q00 (((bits *)&Q0)->b0) //取myvar 的地址(&myvar)强制转换成bits 类型的指针
#define Q01 (((bits *)&Q0)->b1)
#define Q02 (((bits *)&Q0)->b2)
#define Q03 (((bits *)&Q0)->b3)
#define Q04 (((bits *)&Q0)->b4)
#define Q05 (((bits *)&Q0)->b5)
#define Q06 (((bits *)&Q0)->b6)
#define Q07 (((bits *)&Q0)->b7)

#define I00 (((bits *)&I0)->b0) //取myvar 的地址(&myvar)强制转换成bits 类型的指针
#define I01 (((bits *)&I0)->b1)
#define I02 (((bits *)&I0)->b2)
#define I03 (((bits *)&I0)->b3)
#define I04 (((bits *)&I0)->b4)
#define I05 (((bits *)&I0)->b5)
#define I06 (((bits *)&I0)->b6)
#define I07 (((bits *)&I0)->b7)

#define I10 (((bits *)&I1)->b0) //取myvar 的地址(&myvar)强制转换成bits 类型的指针
#define I11 (((bits *)&I1)->b1)
#define I12 (((bits *)&I1)->b2)
#define I13 (((bits *)&I1)->b3)
#define I14 (((bits *)&I1)->b4)
#define I15 (((bits *)&I1)->b5)
#define I16 (((bits *)&I1)->b6)
#define I17 (((bits *)&I1)->b7)

最新评论
 
请礼貌用语,文明留言!
昵称:   验证码:
邮箱:   QQ/MSN:
内容:
   

Copyright © 2007-2018 All Rights Reserved
粤ICP备18039308号
Powered By McuDesign