当前位置: 首页 > 知识库问答 >
问题:

使用处理连接到arduino的串行端口的问题

东门俊民
2023-03-14

首先,我知道这个问题被问了很多,但我找不到任何解决我问题的答案。因此,当我试图使用处理将数据写入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");
}

我知道这是非常基本的,但我在显示问题的同时,使代码尽可能小

提前谢谢

共有1个答案

薛滨海
2023-03-14

看起来,您试图在从Arduino串行监视器访问串行端口的同时,从正在运行的处理草图访问串行端口。

需要注意的是,Arduino IDE串行监视器本身就是一个与您的Arduino通信的进程。Arduino不能同时与串行监视器和另一个程序通信。

但是您正在监控您的Arduino要说什么。改用处理。您已经在将消息发回。您所要做的就是在您的处理应用程序中记录传入的串行消息。

只需将其添加到处理绘制循环中:

if (sPort.available() > 0) {
  print(sPort.readSring());
}

关闭Arduino串行监视器,运行处理草图,您应该会在处理控制台中看到您发送的任何内容(在Arduino中使用Serial.print)。

电视连续剧打印,就像连载一样。read是插入USB电缆后与计算机上的任何程序进行通信的功能。串行监视器是其中之一,但还有许多其他的,其中包括处理。

 类似资料:
  • 基本上,我试图使用力感应电阻器接收到的数据来改变处理草图背景的颜色。我遇到的问题是Arduino串行端口运行得很好/很快,但处理串行端口的速度非常慢/响应非常延迟。 我已经尝试在Arduino循环中添加延迟,但是当我添加那行代码时,我收到了一个NullPointerException错误,尽管我有一个默认的background_color变量值。我还尝试使用myPort。clear()函数在循环结

  • 我正试图通过(伪)串行连接使用处理从Arduino读取100个传感器数据条目。我使用的加工草图如下: 不幸的是,通常我的data.txt文件中存储的条目不到100个,其中一些条目(大约3-5个)在其中显示换行符。我做错了什么?Arduino IDE的串行监视器未打开!

  • 我一直在尝试为我的Arduino串行数据创建一个示波器。在Arduino串行绘图仪中,我可以获得合适频率的良好波形,但当我尝试将数据发送到处理时,它无法接收来自Arduino的所有数据。有办法解决这个问题吗? 阿杜伊诺 加工 谢谢

  • 我正在开发一个程序,它将消息从Arduino发送到Processing,将它们作为十进制数从Arduino打印到串行端口,然后在Processing中以字符串数组的形式提取它们。我遇到的问题是:“ArrayIndexOutOfBounds:18”,它突出显示了一行,上面写着dlay=Integer.parseInt(B[18]),我假设数组不够大,无法存储超过17的数据,我可能犯了一个非常愚蠢的错

  • 我尝试做的是:Processing 3通过我的网络摄像头接收一种二维码-- 问题是:Processing 3和Unity都使用相同的端口(COM4,9600)。这将导致Unity中出现IO异常,表示“访问被拒绝”,随后出现串行端口未打开的错误。 处理3代码 Arduino代码 统一代码 我们显然无法在Unity中打开端口,因为它已经被处理3使用。如何解决这个问题?通信流: 最终,Unity需要根据

  • 串行外设接口(SPI)总线是一种串行通信系统,最多使用四根导线,通常为三根。 一根导线用于数据接收,一根用于数据发送,一根用于同步,另一根用于选择与之通信的设备。 它是全双工连接,这意味着数据同时发送和接收。 最大波特率高于I2C通信系统。 板SPI引脚 SPI使用以下四条线 - SCK - 这是由主机驱动的串行时钟。 MOSI - 这是主机驱动的主输出/从机输入。 MISO - 这是主机驱动的主