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 回答