ZHENGYANYUAN 发表于 2009-11-6 11:08:36

请教一个用映像寄存器来实现AVR的位操作中的使用问题

马老师好:我想请教一个问题,我在主Main.c里我用了个结构体如下

#define M0bita.m0;
#define M1bita.m1;
#define M2bita.m2;
#define M3bita.m3;
#define M4bita.m4;
#define M5bita.m5;


struct   //用结构
      {
unsigned m0:1;//
unsigned m1:1;//
unsigned m2:1;//
unsigned m3:1;//
unsigned m4:1;//
unsigned m5:1;//
unsigned m6:1;//
unsigned m7:1;//
         }bita;

               
然后我就可以像51那样的来做位标志
如:M0=1;
    M1=0;

这样是完全可以的,但如果我想把很多这样的结构放到一个H头文件里后,在主函数里不知道如何来声明使用它,我用extern 来声明是用不了的。
   请多多指导。

machao 发表于 2009-11-12 12:55:13

建议你还是采用CVAVR吧。该环境平台支持类似51 KEIL中的位(BIT)变量操作。

ZHENGYANYUAN 发表于 2009-11-12 15:58:36

谢谢马老师的回答
页: [1]
查看完整版本: 请教一个用映像寄存器来实现AVR的位操作中的使用问题