arduino - 使用另一个串行将数据从 arduino 发送到处理
问题描述
我需要使用另一个串行将数据从 arduino teensy 发送到处理,因为默认串行(Serial.begin(9600))已经用于大程序
我尝试阅读一些关于如何更改我想要接收的序列号的参考资料(https://processing.org/reference/libraries/serial/Serial.html),但我认为它不会改变
void setup() {
Serial.begin(115200); // already used
Serial2.begin(9600); // processing
}
void loop() {
Serial.println("...") //big code that i am not allow to change
Serial2.println("hello world");
delay(1000);
}
我希望在我的处理中重复得到“hello world”,但我真的不知道如何编写代码,所以我可以从 Serial2 而不是从 Serial 获得价值
解决方案
这取决于您使用的 Teensy 模块以及接线方式。
请参阅Teensy 使用硬件串行端口文章了解更多详细信息。
如果可能的话,我会尝试他们的 UART/USB 示例:
// set this to the hardware serial port you wish to use
#define HWSERIAL Serial1
void setup() {
Serial.begin(9600);
HWSERIAL.begin(9600);
}
void loop() {
int incomingByte;
if (Serial.available() > 0) {
incomingByte = Serial.read();
Serial.print("USB received: ");
Serial.println(incomingByte, DEC);
HWSERIAL.print("USB received:");
HWSERIAL.println(incomingByte, DEC);
}
if (HWSERIAL.available() > 0) {
incomingByte = HWSERIAL.read();
Serial.print("UART received: ");
Serial.println(incomingByte, DEC);
HWSERIAL.print("UART received:");
HWSERIAL.println(incomingByte, DEC);
}
}
如果同时使用相同的 USB 连接,请与您的同事协商,以便您可以使用更简单的连接,它只是在处理中显示为另一个串行端口。
如果这不是一个选项:
- 仔细检查上面串行端口文章的引脚排列以及逻辑电平电压(例如可能是 3.3V,而不是 5V)
- 获得一个 USB 串行转换器(用于正确的逻辑电平) - 这将显示为使用处理的不同串行端口
Serial.list()
- connect
Serial2
的TX
pin 到转换器的RX
pin 并在 Processing 中读取数据(类似于您读取的过程Serial
,只是不同的端口名称)
推荐阅读
- r - 带有两列的模糊连接,只有一对需要模糊连接语法的列
- excel - 当两个文件从一个用户移动到另一个用户时,是否有一个 VBA 代码来保护它们之间的引用?
- progressive-web-apps - 如何侦听特定预缓存资源的更新?
- java - 扩展单例是错误的吗?
- java - 正确关闭输入流链
- javascript - If/Else 条件正在改变变量的值 (SparkAR)
- azure-ad-b2c - 更改自定义策略登录屏幕的 UI 元素顺序
- javascript - 在页面启动时销毁 html 中的现有表
- javascript - 找到起始位置
屏幕中的组件反应原生 - javascript - 将 div 与其他 div 的中心对齐