我希望这个确切的问题还没有得到解决。我确实搜索了一段时间。
所以我使用Arduino库进行处理,通过简单地让它闪烁LED来测试它,我已经连接到我的Arduino UNO。我正在学习本教程,但是我遇到了一个与该教程页面上所涵盖的问题有点不同的问题。这是我的处理代码:
import processing.serial.*;
import cc.arduino.*;
Arduino arduino;
int ledPin = 13;
void setup()
{
//println(Arduino.list());
arduino = new Arduino(this, Arduino.list()[0], 57600); //error here
arduino.pinMode(ledPin, Arduino.OUTPUT);
}
void draw()
{
arduino.digitalWrite(ledPin, Arduino.HIGH);
delay(1000);
arduino.digitalWrite(ledPin, Arduino.LOW);
delay(1000);
}
这是我的错误:
IllegalAccessError:试图从类cc. arduino.Arduino$SerialProxy访问类处理.core.PApplet$注册方法
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version = RXTX-2.1-7
Exception in thread "Animation Thread" java.lang.IllegalAccessError: tried to access class processing.core.PApplet$RegisteredMethods from class cc.arduino.Arduino$SerialProxy
at cc.arduino.Arduino$SerialProxy.<init>(Arduino.java:119)
at cc.arduino.Arduino.<init>(Arduino.java:168)
at sketch_130206a.setup(sketch_130206a.java:29)
at processing.core.PApplet.handleDraw(PApplet.java:2117)
at processing.core.PGraphicsJava2D.requestDraw(PGraphicsJava2D.java:193)
at processing.core.PApplet.run(PApplet.java:2020)
at java.lang.Thread.run(Thread.java:680)
由于我的错误显然与访问权限有关,我尝试按照教程页面上所说的去 /var/lock文件夹,但 /lock文件夹不存在!我使用的是Mac 10.8.2。我四处搜索,找到了这个线程(arduino dot cc/Forum/index. php?topic=135164.0),并决定在终端中尝试“sudo mkdir-p /var/lock”和“sudo chmod 777 /var/lock”,但它并没有改变我在处理中的错误,即使重新启动它。我还尝试打开Arduino应用程序并上传ProcessngxArduino库下载页面(playground. arduino dot cc/inter人/处理)中提到的标准Firmata草图,同时尝试运行处理草图,但同样的错误。事实上,我使用的是Arduino UNO而不是Duemilanove,这不应该是问题所在,因为UNO显然只是它的更新版本。有什么想法,我可以尝试下一步做什么?
更新:好的,所以我代码中突出显示的错误是我以任何速度打开串行端口的原因(我认为在这种情况下是57600位/秒)。所以我认为问题在于前面提到的adrunio x处理信息页面(playground dot arduino dot cc/interface/处理)的说明中的这个特定步骤,第3步:“配置串行处理:处理dot org/参考/库/串行/”…链接到处理的“串行”参考页面。我对“配置”的含义感到困惑?我如何准确地找出我的“正确串行端口”?我浏览了串行参考页面上的其余说明和示例,仍然不知道我在寻找什么。
更新#2:我的arduino串行端口是“/dev/tty. usbmodem1411”。不过,我仍然对如何将其插入处理中的代码感到困惑。我在最近2次更新中学到的东西可能与我的错误无关,我仍然不确定。
问题是我使用的是beta版本的处理(2.0)。使用最新的稳定版本(1.5.1),它应该可以工作。