gpt4 book ai didi

c++ - Arduino 和处理。错误不匹配

转载 作者:太空宇宙 更新时间:2023-11-04 13:09:34 27 4
gpt4 key购买 nike

我的 Arduino 代码:

#include<EngduinoThermistor.h>
void setup()
{
Serial.begin(9600);
EngduinoThermistor.begin();
}void loop()
{
float temp;
temp = EngduinoThermistor.temperature();
Serial.println(temp);
delay(1000);
}

我的处理代码:

 import processing.serial.*;
Serial port;
float x = 0;

void setup() {
size(600, 200);
smooth();
background(#9F9694);
String port = Serial.list()[3];
port = new Serial(this, "/dev/tty.usbmodem1411", 9600);
}

void draw() {
stroke(50, 50, 50);
float inByte = port.read();
stroke(#791F33);
strokeWeight(3);
line(x, height, x, height-inByte);
print(inByte);
if (x >=width) {
x=0;
background(255);
}
x++;
}

在这里,我无法将我的 arduino 上的数据发送到处理,因为总是出现错误提示:类型不匹配 processing.serial.Serial does not match with java.lang.String because the two statements:

  String port = Serial.list()[3];
port = new Serial(this, "/dev/tty.usbmodem1411", 9600);

我在网上查了一下,但每个人都使用相同的代码将 arduino 与处理连接起来。我的处理代码有什么问题? arduino 代码工作正常。

最佳答案

这没有意义:

String port = Serial.list()[3];
port = new Serial(this, "/dev/tty.usbmodem1411", 9600);

您正在创建一个名为 portString 变量。这意味着 port 变量可以指向String 值。然后在下一行中尝试将其指向 Serial 的实例。 Serial 的实例不是 String 的实例,这就是您收到错误的原因。

您需要将String 变量和Serial 变量拆分为两个单独的变量。像这样:

String portString = Serial.list()[3];
Serial portSerial = new Serial(this, "/dev/tty.usbmodem1411", 9600);

另请注意,这正是 the Serial documentation 中每个示例的方式做到了。

关于c++ - Arduino 和处理。错误不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40548941/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com