0

私は CCS コンパイラを使用していますが、このコードでは、条件が常に真であるという警告が表示されます。これは PIC16F877 のコードなので、入力が 1 の場合、ループから抜け出す必要があります。ここで何か不足していますか?

int read_keypad()
{
   int value=0;
   while(1)
   {
     UpButton=0;                  // In case of bad Input
     DownButton=0;
     RightButton=0;
     LeftButton=0;
     EnterButton=0;

     output_high(sat1); 
     if (input(sut1)) 
     {    
       value=1;
       while(input(sut1));
       break;
     }
}
4

1 に答える 1

1

ループ条件は常に真です。この警告は、テスト条件を通過していないだけで、ループが終了できない可能性があることを意味するものではありません。

input(sut1) が true を返すと、input が false を返すまで何もしないループに入り、外側のループから抜け出し、read_keypad() を終了します。

于 2013-04-13T10:06:10.063 に答える