[AVR单片机] 各位大神帮忙看看

[复制链接]
1289|4
 楼主| dingsujie 发表于 2014-5-14 09:23 | 显示全部楼层 |阅读模式
如下是我用ICCAVR编写的mega88程序
   else if((floor_data1==0x01)&&(floor_data2==0x01))//11楼按键按下   {    delay_d(100);
      if(floor_data3==0x40)

这样写程序无法判读下面的if函数;改为如下方式
else if((floor_data1==0x01)&&(floor_data2==0x01)&&(floor_data3==0x40))//11楼按键按下
也是不行;请各位大神帮忙看看如何解决
单片机学习0 发表于 2014-5-14 15:50 | 显示全部楼层
那你直接用if判断不就行了,为什么要else if呢
airwill 发表于 2014-5-15 12:08 | 显示全部楼层
程序无法判读下面的if函数
程序这样的写法本身没有问题.
我怀疑是不是在这个 else 前面的 if 已经排除了下面需要的条件.
reuben123 发表于 2014-5-16 09:11 | 显示全部楼层
你这个if else 条件判断语句没有用对啊。
 楼主| dingsujie 发表于 2014-5-16 14:58 | 显示全部楼层
airwill 发表于 2014-5-15 12:08
程序无法判读下面的if函数
程序这样的写法本身没有问题.
我怀疑是不是在这个 else 前面的 if 已经排除了下 ...

问题解决了。floor_data1的数据丢失了。不过挺怪异的;只能保存两个字节;而且floor_data1丢失了值也不是为0x00;后来没办法我采用相加的方式改为如下:
    floor_sum=floor_data1+floor_data2;
  else if(floor_data3==0x40)
        {
           swtich(floor_sum)
                {
                     case   :{

                            }
                            }
         }
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:电梯控制。。。。。。。。。。。。。。。。。。。

21

主题

523

帖子

4

粉丝
快速回复 在线客服 返回列表 返回顶部