keil编程问题

来源:百度知道 编辑:UC知道 时间:2024/09/21 23:45:13
#define SomeNOP(); _nop_();
上面这句宏定义是什么意思啊???????????
unsigned char bdata myflag1;
sbit keybit = myflag1^0; //按键标志

上面的sbit keybit = myflag1^0;是什么意思,特别是myflag1^0代表什么?
谢谢各位指教???

1、第一个宏是有问题的。正确的格式是#define SomeNOP() _nop_();。
这个宏的效果是执行空操作,_nop_();是一个已定义的函数。头文件有定义。
2、myflag1是定义在可位寻址区的字符型变量;keybit是myflag1变量的最低位,也就是D0位。

unsigned char bdata myflag1;
说明myflag1是单片机可位寻址片内数据存储区内的一个单元,长度为一个字节。因此myflag1^0指的是这个字节中的D0位,上述程序定义了一个按键标志位,位置位于myflag的D0位