[AVR单片机] GCC中能否这样定义???

[复制链接]
3900|7
 楼主| glen_cao 发表于 2007-9-21 17:21 | 显示全部楼层 |阅读模式
GCC中能否这样定义???


typedef struct u16bit
{
        unsigned b0: 1;
        unsigned b1: 1;
        unsigned b2: 1;
        unsigned b3: 1;
        unsigned b4: 1;
        unsigned b5: 1;
        unsigned b6: 1;
        unsigned b7: 1;
        unsigned b8: 1;
        unsigned b9: 1;
        unsigned b10: 1;
        unsigned b11: 1;
        unsigned b12: 1;
        unsigned b13: 1;
        unsigned b14: 1;
        unsigned b15: 1;
}bitfield;
keer_zu 发表于 2007-9-21 19:41 | 显示全部楼层

试了

编译器没报错,这又是标准c语言中的位域。应该没问题
mxh0506 发表于 2007-9-21 22:24 | 显示全部楼层

可以用,但是效率不如bit mask

JunZe 发表于 2007-9-27 09:30 | 显示全部楼层

采用位域和联合来实现象51一样的对位或者端口的置位,复位操作,虽然方便,但代价就是代码的效率。
采用位MASK,效率上去了,但麻烦。

看来世上没有什么事是两全其美的。。。。呵呵。。。。
ayb_ice 发表于 2007-9-27 13:14 | 显示全部楼层

当然有两全其美的事,那就是宏定义...

 楼主| glen_cao 发表于 2007-9-28 13:33 | 显示全部楼层

请问ayb_ice:如何宏定义

[注:]本人菜鸟
风儿32600 发表于 2008-10-30 07:40 | 显示全部楼层

恩?

我也刚刚avr
kanprin 发表于 2008-10-30 08:14 | 显示全部楼层

可以搜索本版旧帖子

记得是hotpower大叔说根据john_lee老师的指导写的一个宏,不过是通过C++模板来实现的。具体去搜一下就知道了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

61

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部