打印
[AVR单片机]

GCC中能否这样定义???

[复制链接]
2383|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,效率上去了,但麻烦。

看来世上没有什么事是两全其美的。。。。呵呵。。。。

使用特权

评论回复
5
ayb_ice| | 2007-9-27 13:14 | 只看该作者

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

使用特权

评论回复
6
glen_cao|  楼主 | 2007-9-28 13:33 | 只看该作者

请问ayb_ice:如何宏定义

[注:]本人菜鸟

使用特权

评论回复
7
风儿32600| | 2008-10-30 07:40 | 只看该作者

恩?

我也刚刚avr

使用特权

评论回复
8
kanprin| | 2008-10-30 08:14 | 只看该作者

可以搜索本版旧帖子

记得是hotpower大叔说根据john_lee老师的指导写的一个宏,不过是通过C++模板来实现的。具体去搜一下就知道了。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

20

主题

61

帖子

0

粉丝