Arduino nano настроен на отправку мне «теста» на последовательный порт со скоростью передачи 9600 бод. Используя библиотеку fazecast jSerialComm, я написал тестовое приложение для отображения отправленных данных на моем компьютере.Я хочу написать в Arduino и читать Arduino в какой-то момент.Я довольно новичок в этой последовательной связи.Это мой код Java:
public class main {
private static int baudRate = 9600;
private static int dataBits = 8;
private static int stopBits = 1;
private static int parity = 0;
private static int readTimeout = 0;
private static int writeTimeout = 0;
public static void main(String[] args) throws IOException, InterruptedException {
SerialPort sp = SerialPort.getCommPort("/dev/ttyUSB0");
sp.setComPortParameters(baudRate, dataBits, stopBits, parity);
sp.setComPortTimeouts(SerialPort.TIMEOUT_WRITE_BLOCKING, readTimeout, writeTimeout);
if (sp.openPort()) {
System.out.println("Port is open");
} else {
System.out.println("Failed to open port");
return;
}
for (Integer i = 0; i < 5; ++i) {
sp.getOutputStream().write(i.byteValue());
sp.getOutputStream().flush();
System.out.println("Sent number: " + i);
Thread.sleep(1000);
}
if(sp.getInputStream() != null){
System.out.print(sp.getInputStream().read());
}
if (sp.closePort()) {
System.out.println("Port is closed :)");
} else {
System.out.println("Failed to close port :(");
return;
}
}
}
Я почему-то не могу открыть порт.Он всегда говорит «Не удалось открыть порт».Я сделал ls /dev/tty*
в терминале, а затем отключил Arduino nano, и единственное /dev/ttyUSB0
удаляется.Когда я снова подключаю его и запускаю команду, снова появляется та же самая.Я думал, что, возможно, в этом проблема, но, вероятно, нет.Что я делаю неправильно?Я думаю, что недавно прочитал что-то о том, что это проблема Linux, но я не могу найти это;Может ли это быть проблема, связанная с Linux?