我希望这个问题没有得到解决 . 我找了一会儿 .
所以我正在使用Arduino library进行处理,只需将它连接到我的Arduino UNO上的LED闪烁就可以测试它 . 我正在关注this tutorial,但遇到的问题与该教程页面上的问题略有不同 . 这是我的处理代码:
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: tried to access class processing.core.PApplet$RegisteredMethods from class cc.arduino.Arduino$SerialProxy
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”,但是它没有改变我在Processing中的错误,即使在重新启动它之后也是如此 . 我还尝试打开Arduino应用程序并上传在ProcessngxArduino库下载页面(playground.arduino dot cc / interfacing / processing)中提到的StandardFirmata草图,同时尝试运行处理草图,但同样的错误 . 我使用Arduino UNO代替Duemilanove的事实不应该是问题,因为UNO显然只是它的更新版本 . 有什么想法我接下来可以尝试做什么?
更新:好的,所以我的代码中突出显示的错误是打开我以任何速率使用的串行端口(在这种情况下,我认为是57600位/秒) . 所以我认为问题在于前面提到的adrunio x处理信息页面(playground dot arduino dot cc / interfacing / processing)中的指令中的这一特定步骤,步骤3:“为串行配置处理:处理点组织/参考/库/ serial /“...链接进入处理的'串行'参考页面 . 我对“配置”的含义感到困惑?我究竟如何找出“正确的串口”?我在串行参考页面上完成了其余的说明和示例,但仍然不知道我在寻找什么 .
更新#2:我的arduino串口是“/dev/tty.usbmodem1411” . 我仍然对如何将其插入到Processing中的代码感到困惑 . 我在最近2次更新中学到的东西可能与我的错误无关,我仍然不确定 .
1 回答
问题是我使用的是测试版的Processing(2.0) . 使用最新的稳定版本(1.5.1),它应该工作 .