helloZeson 发表于 2020-12-18 19:29

九齐IDE位定义变量,如何实现?

本帖最后由 helloZeson 于 2020-12-19 20:14 编辑

   九齐的IDE,好像没有位定义的功能???像keil一样的,我只想定义一个位的Flag_标志位变量,例如,Bit Flag_ON_OFF=1;但是九齐的IDE不认,请问大侠们知道如何定义吗?

rgjinxuan 发表于 2020-12-21 12:38

我是专家   19924580103

kcfoo1 发表于 2020-12-24 07:37

估计是和湾湾的编译器一样,bit位变量要先定义到指定内存块地址

wlzeagle 发表于 2020-12-25 13:03

用九齐的,估计论坛没几个人

ayb_ice 发表于 2020-12-25 14:15

参照GPIO的定义应该是可以的

helloZeson 发表于 2020-12-25 22:46

ayb_ice 发表于 2020-12-25 14:15
参照GPIO的定义应该是可以的

我就是翻了个遍所有的文档,就是找不到,估计是被封装起来了

youyi1997 发表于 2021-2-13 23:01

可以参考这个来定义,我没有试过,你可以试一试

copower 发表于 2021-2-21 15:43

typedef union
{
    unsigned char ToByte;
    struct P8Bit{
      unsigned char bit0:1;
      unsigned char bit1:1;
      unsigned char bit2:1;
      unsigned char bit3:1;
      unsigned char bit4:1;
      unsigned char bit5:1;
      unsigned char bit6:1;
      unsigned char bit7:1;
    }bitn;
}BitAccess;

BitAccess var_0;
#define LED0 var_0.bitn.bit0
#define LED1 var_0.bitn.bit1
#define LED2 var_0.bitn.bit2
#define LED3 var_0.bitn.bit3
#define LED4 var_0.bitn.bit4
#define LED5 var_0.bitn.bit5
#define LED6 var_0.bitn.bit6
#define LED7 var_0.bitn.bit7

void main() {
var_0.ToByte=0;
LED0=1;
LED1=1;
LED2=1;
LED3=1;
LED4=1;
LED5=1;
LED6=1;
LED7=1;
}参考范例 http://www.essemi.com/thread/28.html
页: [1]
查看完整版本: 九齐IDE位定义变量,如何实现?