#include <REG52.H>
sbit Start=P0^0;
sbit Stop=P0^1;
void main()
{
if (Start&&Stop!=1) //这时Start和Stop值不是0就是1.
}
如果换成:
#include <REG52.H>
Start和Stop不定义
void main()
{
if (P0^0&&P0^1!=1) //这时在Keil中调试P0^0和P0^1值就不0和1了.而是十六进制0xXX
}
我在网上了解说是要加如Start和Stop这样的变量名,为什么,有什么不一样么?
初学请帮忙解答,谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
这个指令好像就有点问题,好像是数据类型不匹配造成的。不如改成(!P0^0&&P0^1)这样的话应给没问题。
当然,你也可以直接使用。但是不直观呀。
如果不在 sbit 里,那就是异或运算符。
虽然长的一样,但两个地方的含意和功能是不一样的。
一周热门 更多>