注册 登录
编程论坛 单片机编程

请教struct的用法

ssjcomes 发布于 2015-01-29 16:28, 4481 次点击
我的程序一段struct定义如下,可是编译的时候一直说定义有问题,全部改为如bit flag就好了,请问这个定义哪里错了!
typedef struct
  {
    unsigned bit0        :1;
    unsigned bit1        :1;
    unsigned bit2        :1;
    unsigned bit3        :1;
    unsigned bit4        :1;
    unsigned bit5        :1;
    unsigned bit6        :1;
    unsigned bit7       :1;
  }Boot;
Boot B;
#define time_10ms_f  B.bit0;
#define flag  B.bit1;
#define OLDA  B.bit2;
#define OLDB  B.bit3;
#define OLDZ  B.bit4;
#define circle B.bit5;
2 回复
#2
wyw198808092015-04-01 23:04
bit0 到bit7 这个被系统用了得吧  所以需要改了才行
#3
q9137942862017-04-27 08:29
写法本身就是错的。你得用union联合体,并且定义位不是直接定义bit。bit也只有在bdata区域才能申明。
1