打印
[AVR单片机]

各位大神帮忙看看

[复制链接]
873|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 条件判断语句没有用对啊。

使用特权

评论回复
5
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

粉丝