【问题标题】:How to Create virtual serial port using java如何使用java创建虚拟串口
【发布时间】:2014-12-12 04:32:24
【问题描述】:

我曾尝试使用 TelnetSerialPort 和 jSSC 库创建虚拟串口,但无法正常工作。它没有创建虚拟串口,它使用现有的串口进行通信。

这是我使用 jSSc 库的程序

public class VirtualSerialPort 
{
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) 
    {
        SerialPort serialPort = new SerialPort("COM12");
        try 
        {
            System.out.println("Port opened: " + serialPort.openPort());
            System.out.println("Params setted: " + serialPort.setParams(9600, 8, 1, 0));
            System.out.println("\"Hello World!!!\" successfully writen to port: " + serialPort.writeBytes("Hello World!!!".getBytes()));
            System.out.println("Port closed: " + serialPort.closePort());
        }
        catch (SerialPortException ex)
        {
            System.out.println(ex);
        }
    }
}

它给出以下输出

Port opened: false
jssc.SerialPortException: Port name - EMPTY; Method name - setParams(); Exception type - Port not opened.

【问题讨论】:

  • 什么是虚拟串口?
  • 虚拟是指在设备管理器中创建com口,无需将com口物理连接到PC
  • 祝你好运。
  • @Elliot Frisch 谢谢
  • 这需要调用专门的操作系统 API。如果你能从 Java 中做到这一点,我会感到惊讶。

标签: java virtual-serial-port jssc


【解决方案1】:

据我了解,JSSC 将连接到现有的串行端口。它不会创建虚拟串行端口。如果你想要虚拟串口,那么你应该使用一些模拟器,然后使用 JSSC 连接那个虚拟端口。

参考:通过 Java 中的 jSSC 从 COM 端口发送和接收字符串:http://www.codeproject.com/Tips/801262/Sending-and-receiving-strings-from-COM-port-via-jS

【讨论】:

    【解决方案2】:

    我假设您使用的是基于 COM 端口标识符的 Windows。在 Windows 中,您必须使用 \\.\COMn 表示法(其中 n 是您的 COM 端口号)访问 10 或更高的 COM 端口。尝试将您的代码更改为此(注意有双倍数量的 \ 字符以使其显示而不是触发转义序列):

    SerialPort serialPort = new SerialPort("\\\\.\\COM12");
    

    【讨论】:

    • 钢我收到以下错误Port opened: false jssc.SerialPortException: Port name - EMPTY; Method name - setParams(); Exception type - Port not opened.
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多