单片机中if(temp=0xff)是错误的吗?
比如chartemp;voidmain(){temp=0xbf;while(1){P1=temp;temp=temp>>1;if(temp==0xff){temp=0xb...
比如
char temp;
void main()
{
temp=0xbf;
while(1)
{
P1=temp;
temp=temp>>1;
if(temp==0xff)
{
temp=0xbf;
}
}
}
这个函数中的if(temp=0xff)并不能使temp进入if语句
我调试过了,temp依次等于0xbf,0xdf,0xef,0xf7,oxfb,0xfd,0xfe,0xff 。。
而且if(P1==0xff)能让temp进入if,但是if(temp==0xff)就不好使 ,我想问的就是if(temp==0xff)错误的原因 展开
char temp;
void main()
{
temp=0xbf;
while(1)
{
P1=temp;
temp=temp>>1;
if(temp==0xff)
{
temp=0xbf;
}
}
}
这个函数中的if(temp=0xff)并不能使temp进入if语句
我调试过了,temp依次等于0xbf,0xdf,0xef,0xf7,oxfb,0xfd,0xfe,0xff 。。
而且if(P1==0xff)能让temp进入if,但是if(temp==0xff)就不好使 ,我想问的就是if(temp==0xff)错误的原因 展开
2个回答
展开全部
首先你要说明你的这个程序是要做什么.你没有说明,也不太好分析.
temp=0xbf;
while(1)
{
P1=temp; //P1 =10111111
temp=temp>>1; //temp=11011111
if(temp==0xff) //如果temp=111111
上面这句程序好像你是要等待P1成为0xff?那应该是
if(P1==0xff) 才对.如果你是if(temp==0xff)这个temp的值永远都不会变的.怎么能进入if语句呢?
{
temp=0xbf;//temp=10111111
}
}
好好的学一下C语言之后再编程.
temp=0xbf;
while(1)
{
P1=temp; //P1 =10111111
temp=temp>>1; //temp=11011111
if(temp==0xff) //如果temp=111111
上面这句程序好像你是要等待P1成为0xff?那应该是
if(P1==0xff) 才对.如果你是if(temp==0xff)这个temp的值永远都不会变的.怎么能进入if语句呢?
{
temp=0xbf;//temp=10111111
}
}
好好的学一下C语言之后再编程.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询