2017-10-07 9 views
-1
const int buttonPin = 2;  
int buttonState = 0;   

void setup() { 
    Serial.begin(9600); 
    pinMode(buttonPin, INPUT); 
} 

void loop() { 
    buttonState = digitalRead(buttonPin); 
    if (buttonState == HIGH) { 
    Serial.println("1"); 
    buttonState=LOW; 
    delay(20000); 
     while(0); 
    } 
} 

基本的に、コードは次のように動作する:プッシュボタンステータス Arduinoコード - while(0)の使用は何ですか?

  • を読み取るため

    • 押釦ピン
    • 変数の数は、入力としてプッシュボタンピンを初期化:
    • 状態を読み出します押しボタン値の:
    • 押しボタンが押されているかどうかをチェックします。それは、buttonStateがHIGHであるされている場合:Bluetooth経由 センドCHAR 1:

    私はアルドゥイーノ、HC 06 Bluetoothモジュール、ボタンとボタンが押されたときにphonecallを作るアプリ(HC 06センドを持っています1バイト、1、アプリに)

    私の質問は、while (0);は何ですか?

    ---- ORIGINAL CODE ---- const int PirSensor = 2; int motionState = 0;

    void setup() { 
        Serial.begin(9600); 
        pinMode(PirSensor, INPUT); 
    } 
    
    void loop() { 
        motionState = digitalRead(PirSensor); 
        if (motionState == HIGH) { 
        Serial.println("1"); 
        motionState = LOW; 
        delay(20000); 
    // while(0); 
        } 
    
    } 
    
  • +0

    これは何もしません。どうしてそこに置いたのですか? – hobbs

    +0

    ボタンの代わりに、PIRモーションディテクタが付いた別のものから自分のコードを追加したので、そして、その間の意味は何だったのか分からなかった。 –

    +1

    @PedroFerreita元の例を表示していただけますか? – orhtej2

    答えて

    0

    この場合は間違いないと思います。

    ほとんどのコンピュータプログラミング言語では、whileループは、特定のブール条件に基づいてコードを繰り返し実行できるようにする制御フローステートメントです。 whileループは、繰り返しのif文として考えることができます。あなたは条件を持っている場合は、whileループは、このような終了オプションを、持っていなければならないこと

    注:

    const int buttonPin = 2;  
    int buttonState = 0;   
    
    void setup() { 
        Serial.begin(9600); 
        pinMode(buttonPin, INPUT); 
    } 
    
    void loop() { 
        buttonState = digitalRead(buttonPin); 
        if (buttonState == HIGH) { 
        Serial.println("1"); 
        buttonState=LOW; 
        delay(20000); 
        int a =0; 
         while(a==0){ 
         if (something) 
          a=1; 
         } 
        } 
    } 
    

    その後、あなたの選択した状態であなたは、ループを終了します。

    関連する問題