我有一个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软件对它进行了测试,一切顺利!)
答案 0 :(得分:0)
不确定,但在Arduino c ++中,首先需要设置引脚的模式,然后才能发送数据。首先设置模式时,数字读取也会更好。 可能同样适用于此吗?
如果是这样,这可能会对您有所帮助http://arduino.cc/en/Reference/Firmata