标题: 关于C语言if语句 [打印本页]

作者: jianuli    时间: 2020-8-29 10:15
标题: 关于C语言if语句
大家好呀,刚学单片机,为何S1按下时,if下面的语句就进不去呢,把P1=oxFE;去掉就可以进入,为何呢,谢谢大家啦

IMG_20200829_101206.jpg (1.47 MB, 下载次数: 98)

IMG_20200829_101206.jpg

作者: xianfajushi    时间: 2020-8-29 12:38
可参https://blog.csdn.net/xianfajushi/article/details/82281411
作者: xianfajushi    时间: 2020-8-29 12:58
  1. 经典按键代码
  2. sbit k1=P1^7;
  3. void main()
  4. {
  5.         unsigned char wei=0,Xd=0,Sw=0;
  6.         unsigned int Ys=47474,Lx=0;
  7.         while(1)
  8.         {
  9.                 if(!k1&&!++Xd){P0=255;while(!k1);}
  10.         }
  11. }
复制代码

作者: csmyldl    时间: 2020-8-30 09:10
描述有误,不是进不来,而是进去后执行完程序(主要是P1口状态变化),没等到你观察到变化的状态又在下一次循环中恢复了(P1=0xFE恢复),所以你去掉此句就能看到改变状态
作者: jianuli    时间: 2020-8-30 10:00
csmyldl 发表于 2020-8-30 09:10
描述有误,不是进不来,而是进去后执行完程序(主要是P1口状态变化),没等到你观察到变化的状态又在下一次 ...

您好,确实是这样,谢谢你啦
作者: DREAM2019    时间: 2020-8-30 11:33
运行太快了




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1