Arduino 循环失效

有没有人能告诉我为什么第一个while不运行,卡在第二个while出不来了

void loop()
{ 
 // keysacn();//调用按键扫描函数  
  while(1)
  {
  //有信号为LOW  没有信号为HIGH   检测到黑线  输出高  检测到白色区域输出低
  SR = digitalRead(SensorRight);//有信号表明在白色区域,车子底板上L1亮;没信号表明压在黑线上,车子底板上L1灭
  SL = digitalRead(SensorLeft);//有信号表明在白色区域,车子底板上L2亮;没信号表明压在黑线上,车子底板上L2灭
  if (SL == LOW&&SR==LOW)
    run();   //调用前进函数
  else if (SL == HIGH & SR == LOW)// 左循迹红外传感器,检测到信号,车子向右偏离轨道,向左转 
    left();
  else if (SR == HIGH & SL == LOW) // 右循迹红外传感器,检测到信号,车子向左偏离轨道,向右转  
    right();
  else // 都是黑色, 停止
      {
      brake(50);
      break;
      }
  }
 
 while(1)
  {
    //有信号为LOW  没有信号为HIGH  有障碍物输出0  没有障碍物输出1
    SR_2 = digitalRead(SensorRight_2);
    if (SR_2==HIGH)//前面没有障碍物
    {
      run();   //调用前进函数
      digitalWrite(beep,LOW);        //蜂鸣器不响
      digitalWrite(LED,LOW);        //LED不亮
    } 
    else if ( SR_2 == LOW)// 前面探测到有障碍物,有信号返回 
       { 
         digitalWrite(beep,HIGH);        //蜂鸣器响
         digitalWrite(LED,HIGH);        //LED亮
         brake(3);//停止300MS
         back(20);//后退2000MS
        // left(5);//调用左转函数  延时500ms    
         digitalWrite(beep,LOW);        //蜂鸣器不响
         digitalWrite(LED,LOW);
          break;
     }
      
  }
}


先说说你为啥认为第一个没运行,而且还卡在了第二个吧。