【发布时间】:2020-04-22 00:33:57
【问题描述】:
我正在尝试使用 jssc 将 arduino 与 java 进行通信。只是为了测试,我试图在 Arduino 上接收数据并将其发送回 PC,非常简单。问题是,董事会似乎没有收到它。当 arduino 的代码仅发送时,工作正常,但它无法接收任何数据。我首先认为问题是 jssc,所以我将我的应用程序更改为处理,同样的问题。我什至尝试更换板子,没有区别,板子很好,它可以与 Arduino 串行监视器正常通信。所以我的问题一定是Java和处理代码。我知道这是一个非常简单的问题,我为发布这个感到羞耻,一定是一个非常简单的问题,我已经过去了。
还有一点,没有显示任何错误
Java 代码:
public class ArduinoTest{
public static void main(String[] args) throws SerialPortException, InterruptedException {
SerialPort serialPort = new SerialPort("COM6");
serialPort.openPort();
serialPort.setParams(SerialPort.BAUDRATE_9600,
SerialPort.DATABITS_8,
SerialPort.STOPBITS_1,
SerialPort.PARITY_NONE);
int i;
serialPort.writeBytes("a".getBytes());
while(true){
a=serialPort.readBytes(1);
i = a[0] & 0xff;
System.out.println(i);
}
}
}
处理代码:
import processing.serial.*;
Serial port;
int r;
void setup(){
port = new Serial(this, "COM6", 9600);
port.write(1);
}
void draw(){
if(port.available()>0){
r = port.read();
println(r);
}
}
Arduino 代码:
int r1=0;
void setup() {
Serial.begin(9600);
}
void loop() {
if(Serial.available() > 0){
r1 = Serial.read();
Serial.write(r1);
}
}
【问题讨论】:
标签: java c++ arduino processing