打印

奇怪的if else

[复制链接]
1660|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
huangqi412|  楼主 | 2008-6-28 17:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
uchar get_char,cmd;
~~~~
~~~~ 
//软件仿真这里手动修改成get-char=cmd=0;
  while (1)
    {
      if (get_char==temp)//取得串口接受数据 但必须有更新      
      cmd=0xff;
      else
      cmd=get_char;

     PORTA=cmd;//debug查看
/*
~~~~~~~~~~~      全部先注释掉
*/
    }
如果get-char没有改变则将cmd赋0xff,如果改变了则变成get-char值
软件仿真中进while前两者都手动变0,相等了, 但是进while后,
先执行if,然后再执行if,然后再执行else ,再执行下面的.奇怪了.  把下面语句全部注释也一样.

相关帖子

沙发
dld2| | 2008-6-28 18:59 | 只看该作者

建议看看反汇编

使用特权

评论回复
板凳
huangqi412|  楼主 | 2008-6-28 19:02 | 只看该作者

看了反汇编,很奇怪.改优化等级也没用.

wingcc.           只好用旁门左道搞定了.

使用特权

评论回复
地板
taoest| | 2008-6-28 23:45 | 只看该作者

贴准确程序,不要修改。

直接贴上来。不要将程序和问题混在一起。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

622

主题

24960

帖子

18

粉丝