Processing 读取串口数据

凌顺实验室(lingshunlab.com)简单分享如何在Processing读取串口数据,并在Console窗口中显示读取的数据。

1,在Console查看可用串口列表

在processing中使用串口需要加载serial库,

import processing.serial.*;

然后创建一个Serial的对象

Serial port;

使用Serial.list()方法,获取可用串口列表。

完整代码:

// welcome to lingshunlab.com

import processing.serial.*;
Serial port;                    //从 Serial 类创建对象

void setup() {
  println("hello lingshunlab.com");
  printArray(Serial.list());

}

void draw() {
}

运行代码后,如下图所示,在Console窗口中看到本地的所有Serial设备名称:

WX20230626-1629012x

2,定义使用的串口

通过之前的代码,可用获取到当前电脑上的Serial串口列表,包含了序号和名称。

通过以下代码,可用打开指定的Serial串口:

port = new Serial(this,"/dev/tty.wchusbserial1460", 115200);

完整代码:

// welcome to lingshunlab.com

import processing.serial.*;
Serial port;                    //从 Serial 类创建对象

void setup() {
  println("hello lingshunlab.com");
  printArray(Serial.list());

  //打开指定名称串口,并设置波特率为 115200
  //名称也可以使用串口序号代替,例如:Serial.list()[0]
  port = new Serial(this,"/dev/tty.wchusbserial1460", 115200);

}

void draw() {
  if (0 < port.available()) {         //如果有数据
    println(port.readString());
  }
}

3,读取串口数据

在Console中没有报错,那么打开串口已经成功,现在使用以下代码,可以读取并在Console中输出,串口的内容:

 if (0 < port.available()) {         //如果有数据
    println(port.readString());
  }

完整代码:

// welcome to lingshunlab.com

import processing.serial.*;
Serial port;                    //从 Serial 类创建对象

void setup() {
  println("hello lingshunlab.com");
  printArray(Serial.list());

  //打开指定名称串口,并设置波特率为 115200
  //名称也可以使用串口序号代替,例如:Serial.list()[0]
  port = new Serial(this,"/dev/tty.wchusbserial1460", 115200);

}

void draw() {
  if (0 < port.available()) {         //如果有数据
    println(port.readString());
  }
}

参考:
Processing Serial库
https://processing.org/reference/libraries/serial/index.html