Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JSSC有时不';无法写入串行端口_Java_Serial Port_Jssc - Fatal编程技术网

Java JSSC有时不';无法写入串行端口

Java JSSC有时不';无法写入串行端口,java,serial-port,jssc,Java,Serial Port,Jssc,我使用JSSC库编写了一个java程序,用于在linux中与usb串行设备通信。但在通信时遇到了几个问题 有时在将数据写入端口时。但是串行设备没有读取数据。但是我的java程序表明写入成功。(只是有时发生) 在我首先写入端口之前,我检查垃圾数据并读取它们(如果有的话),然后进行清除。但程序在写入之前并没有检测到任何垃圾数据,而是在写入之后等待设备响应(read)程序读取垃圾数据 这是我用于写入端口的代码段: serialPort.readBytes(); //for check garbage

我使用JSSC库编写了一个java程序,用于在linux中与usb串行设备通信。但在通信时遇到了几个问题

  • 有时在将数据写入端口时。但是串行设备没有读取数据。但是我的java程序表明写入成功。(只是有时发生)
  • 在我首先写入端口之前,我检查垃圾数据并读取它们(如果有的话),然后进行清除。但程序在写入之前并没有检测到任何垃圾数据,而是在写入之后等待设备响应(read)程序读取垃圾数据 这是我用于写入端口的代码段:

    serialPort.readBytes(); //for check garbage data
    
    //purge the port
    serialPort.purgePort(PURGE_RXCLEAR );
    serialPort.purgePort(PURGE_TXCLEAR);
    serialPort.purgePort(PURGE_RXABORT);
    serialPort.purgePort(PURGE_TXABORT);
    
    //write to port
    serialPort.writeString(s);
    
    System.out.println("Write: "+s); 
    return true;
    

    请帮助我至少解决上述任何问题。

    这看起来像是RS232电缆的问题。通常,垃圾数据不应出现在行上。如果这是RS485到USB接口,那么当另一方发送数据时,您可能正在尝试发送数据。尝试使用硬件流量控制(RTS/DTR)。RS232电缆似乎有问题。通常,垃圾数据不应出现在行上。如果这是RS485到USB接口,那么当另一方发送数据时,您可能正在尝试发送数据。尝试使用硬件流控制(RTS/DTR)。