gpt4 book ai didi

java - JSSC 在 Arduino 中不闪烁 LED 灯

转载 作者:太空宇宙 更新时间:2023-11-04 12:20:12 25 4
gpt4 key购买 nike

我正在尝试使用串行通信连接arduino与java。为此,我使用了 jssc 库。但是当我运行java程序并发送字符串“1”时,led不会发光,它应该持续发光。但是,当我从arduino串行监视器发送字符串“1”时,它会持续发光,直到我发送任何其他字符串。 我应该怎么做才能在java中获得与**Arduino串行绘图仪中相同的结果。**这是我在 Netbeans 中的 Java 代码。

package javajssctest;

import jssc.SerialPort;
import jssc.SerialPortException;

/**
*
* @author Abdullah Sajid
*/
public class JavaJSSCTest {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {
SerialPort serialport = new SerialPort("COM4");
try{
serialport.openPort();
serialport.setParams(9600, 8, 1, 0);
serialport.writeString("1");
serialport.closePort();

}
catch(SerialPortException ex){
System.err.println(ex);
}
}

}

这是我的arduino代码。

String input;
void setup() {
pinMode(13,OUTPUT);
Serial.begin(9600);
}

void loop() {
if(Serial.available()>0){
input = (char)Serial.read();
if(input=="1"){
digitalWrite(13,HIGH);
}
else{
digitalWrite(13,LOW);
}
}
}

最佳答案

这里有两件事:

  • LED 永远不会“闪烁”,因为您会继续阅读,但一旦设置状态,就永远不会重置它,这意味着 LED 将保持亮起状态。发生的情况是,您检查是否有可用数据,发现“1”,然后打开 LED。下次执行循环时,串行端口上将没有可用数据,因此什么也不会发生,LED 将保持亮起状态。

  • 您应该确保Arduino正确接收数据,因此请检查串行端口实际上是COM4。另外,也许您应该使用 write 而不是 writestring。检查this page例如。

关于java - JSSC 在 Arduino 中不闪烁 LED 灯,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38930712/

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