ggbond33 2018-07-17 04:25 采纳率: 66.7%
浏览 689
已采纳

单片机学习过程中遇到的玄学问题

在单片机中我用if(n==2)
程序不进入if,而用if(n>1),就可以进入程序,
还有一次for(i=3;i>0;i--)程序不进入,
而for(i=3;i>-1;i--)就可以进入程序。
eg1
void main(void)
{

   init_t0();
    EA=1;
    IT0=1;
    EX0=1;
    EX1 = 1;
    IT1 = 1;
    InitLCD1602();

LcdShowStr(0, 1, str2);     //液晶初始化显示

LcdShowStr(0, 0, str1);
// P0=0xff;

while(1)
{     
    unsigned int i; 


   forward(L,R);


    if((P1&0X60)==0x60)         //    0110 0000
       {
       flag++;//    P0=P1;
       delay(40);
       }

//

// if((P1&0x90)==0x80) // 1001 0000 1000 0000 向右转
// {
// for(i=0;i<4;i--)
// forward(50,40);
// }
//

// if((P1&0x10)==0x10) // 1001 0000 0001 0000 向左转
// {
// for(i=0;i<4;i--)
// forward(40,50);
// }
//

        if(flag==1) 
        {
         m=1;
         //led0=0;

         continue;
         }

        if(flag==2)
        {

        //led1=0;
         continue;
         }
    //  break;    //遇到第一条线,和第二条线无意义
        if(flag==3)
        {
        //led2=0;
        forward(2,3);
        continue;
        }
        if(flag==4)
        {
    //  led3=0;
        forward(30,34);
        continue;
        }
        if(flag==5)
        {
    //  led4=0;
        continue;
        }

        if(flag==6)
        {
           delay(100);
            n++;
        if(n>1)
          {
           m=0;
           stop();
           while(1);
          }
    //  led5=0;

        for(i=0;i<50000;i++)
        stop(); 
        //P0=0xff;
        for(i=0;i<4300;i++)
        {zhuan();
        flag=0;
        }
        for(i=0;i<50000;i++)
        stop(); 
       // P0=0xff;
        }

}

}
图片说明

  • 写回答

7条回答 默认 最新

  • ailaillia 2018-07-17 04:49
    关注

    可能编译器觉得n在逻辑上不会等于2,被优化掉了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?

悬赏问题

  • ¥20 求数据集和代码#有偿答复
  • ¥15 关于下拉菜单选项关联的问题
  • ¥20 java-OJ-健康体检
  • ¥15 rs485的上拉下拉,不会对a-b<-200mv有影响吗,就是接受时,对判断逻辑0有影响吗
  • ¥15 使用phpstudy在云服务器上搭建个人网站
  • ¥15 应该如何判断含间隙的曲柄摇杆机构,轴与轴承是否发生了碰撞?
  • ¥15 vue3+express部署到nginx
  • ¥20 搭建pt1000三线制高精度测温电路
  • ¥15 使用Jdk8自带的算法,和Jdk11自带的加密结果会一样吗,不一样的话有什么解决方案,Jdk不能升级的情况
  • ¥15 画两个图 python或R