需要通过串口的设置和代码修改来解决。具体步骤如下:
在 Processing 中,确保正确选择串口号和波特率,可以使用 Serial.list() 方法列出可用的串口,然后选择正确的串口号和波特率。
在 CircuitPython 中,需要使用 uart 模块来配置串口并打开串口,代码示例如下:
import busio
from board import *
from adafruit_uart import *
uart = busio.UART(TX, RX, baudrate=9600)
其中,TX 和 RX 分别是串口的发送和接收引脚,baudrate 是波特率。
确保两端的波特率设置一致,如前述代码示例中的 9600。
在 Processing 中,使用 SerialEvent() 方法来获取从串口接收的数据并处理,代码示例如下:
import processing.serial.*;
Serial port;
String inputStr = "";
void setup() {
// 选择正确的串口号和波特率
port = new Serial(this, Serial.list()[0], 9600);
// 设置串口接收数据的回调函数
port.bufferUntil('\n');
}
void draw() {
// 处理接收到的数据
if (inputStr.length() > 0) {
print("Received: ");
println(inputStr);
inputStr = "";
}
}
void serialEvent(Serial port) {
// 读取串口接收到的数据
inputStr = port.readStringUntil('\n');
}
其中,SerialEvent() 方法中的 port.readStringUntil('\n') 表示读取从串口接收到的以 '\n' 结尾的字符串。
通过以上步骤设置和修改串口的设置和代码,即可解决 Adafruit Grand Central M4 Metro 的 Processing 和 CircuitPython 之间串行连接存在问题的情况。