Firmata与Arduino Mega 1280,无法读取所有输入引脚

时间:2012-01-02 11:52:20

标签: file-io arduino processing firmata

我有一个Arduino Mega 1280,想通过Firmata与它沟通。听起来很容易......

所以我的问题:如果我使用Arduino的StandardFirmata固件(包含在Arduino 1.0中),我可以设置输出引脚,并向它们发送信号((突出显示引脚24上的LED):

arduino.digitalWrite(24, Arduino.HIGH);

但我无法读取Mega的任何数字输入。正如我发现的那样,有些人在读取高于13的端口时遇到问题。我无法验证它,我的输入信号从端口23开始。 例如:

if (arduino.digitalRead(25) == Arduino.HIGH){
  println("is high");
  }

现在我在Mega上安装了AllInputsFirmata,它也预装在Arduino 1.0中。现在从数字输入读取是没有问题的:例如:

if (arduino.digitalRead(25) == Arduino.HIGH){
  println("is high");
  }

但这一次,我无法发出任何信号。

那么,发生了什么?

(是的,我用FirmataTest软件对它进行了测试,一切顺利!)

1 个答案:

答案 0 :(得分:0)

不确定,但在Arduino c ++中,首先需要设置引脚的模式,然后才能发送数据。首先设置模式时,数字读取也会更好。 可能同样适用于此吗?

如果是这样,这可能会对您有所帮助http://arduino.cc/en/Reference/Firmata