为什么debug不执行if内语句?
时间:10-02
整理:3721RD
点击:
各位大神,一个很简单的的一个程序但是不知道为什么debug不执行if内语句,求解。谢谢!
#include<reg52.h>
void main()
{
char shu,n;
while(1)
{
P2=0xf7;
shu=P2;
if(shu==0xf7) //为什么不执行if内语句?难道shu==0xf7为假?求解
{
n++;
}
}
}
#7楼正解,十分感谢,谢谢。
shu读取的是P2口的状态,你确定P2口的状态是0xf7,你再设一个数试试,不要用P2
debug状态下看一下shu这个值的值,两个值不一定会相等的。
debug时P2口数据和0xf7是一样的啊
debug时P2口数据、shu和0xf7是一样的啊
这样,
char ppp222,shu,n;
ppp222=0xf7;
shu=0xf7
if(shu==0xf7)
{
n++;
}
变量设置错误,
char shu;
改为无符号数即可。
unsigned char shu;
十分感谢你的指导!谢谢!
你没理解我的程序的目的。谢谢!
#7楼正解!