首先,我知道这个问题已经问了很多,但是找不到解决我问题的答案。因此,当我尝试使用处理将内容写入Arduino的串行监视器时,它说该端口(在我的情况下为“ com3”)繁忙。我不知道它会忙什么,因为我已经设置了读取串行监视器的延迟。
Arduino代码:
void setup() {
// put your setup code here, to run once:
Serial.begin(9600);
// Serial.println("started");
// Serial.println();
}
void loop() {
if(Serial.available()){
char ch = (char) Serial.read();
Serial.println(ch);
ch = "";
delay(100);
}
处理代码:
import processing.serial.*;
Serial sPort;
String port;
void setup() {
port = Serial.list()[0];
sPort = new Serial(this, port, 9600);
//port.write("hey, its working");
}
我知道这真的很基础,但是我在使代码显示错误的同时使代码尽可能的小
预先感谢
答案 0 :(得分:1)
似乎您尝试与从Arduino串行监视器同时从运行的Processing草图访问串行端口。
值得注意的是,Arduino IDE串行监视器本身就是一个与Arduino通信的进程。 Arduino无法同时与串行监视器和其他程序对话。
但是您要监视Arduino必须说的内容。请改用处理。 您已经将邮件发送回去了。您要做的就是在处理应用中记录传入的串行消息。
只需将其添加到您的处理绘制循环中即可:
if (sPort.available() > 0) {
print(sPort.readSring());
}
关闭Arduino串行监视器,运行处理草图,您应该在处理控制台中看到发送的所有内容(使用Arduino中的Serial.print)。
Serial.print和Serial.read一样,是一旦您插入USB电缆即可与计算机上任何程序进行通信的功能。串行监视器是其中之一,但还有许多其他功能,其中包括“正在处理”。