0

少し調べてみたところ、ボタンが割り込みとして使用されている例をいくつか見つけました。ただし、実装しようとしている設計では、アナログ センサーを使用しています。今、私がやりたいことは、ボタンではなく、割り込みを実行するように伝えるために、アナログセンサーにブール値のフラグを立てることです。どうすればいいですか?

これは私が調査した結果に基づいて私が考えたものです:

    boolean isWall;

    attachInterrupt(isWall, interruptFunction, RISING);

    void loop() {
        if(analogSensor.response > 450) {
                isWall = true;
        }
        normalExecution();  // what it normally does if isWall is false 
    }

    void interruptFunction() {
          // code implementation
          isWall = false;  // set isWall back to false after executing interruptFunction
    }

    void normalExecution() {
          // foo
    }

誰かが確認できますか?

4

1 に答える 1

0

おそらく私は完全に間違っているかもしれませんが、Arduino の割り込みはピンから見た電圧に基づいている、つまりハードウェア割り込みであるというのが私の理解でした。したがって、コードはハードウェア割り込みに対しては正しくても、変数の変更に対しては機能しません。

とはいえ、このリンクとこのリンクでは、目的を達成するためのアナログ コンパレータの方法について説明しています。

于 2012-12-07T13:09:26.027 に答える