在Qt/ c++中创建虚拟串口

Create virtual serial port in Qt/C++

本文关键字:创建 虚拟 串口 c++ Qt      更新时间:2023-10-16

我想创建一个linux应用程序,显示为串行端口(如/dev/ttyTEST)。这个应用程序将监听发送到端口的命令,并响应。

这是可能使用Qt/c++吗?我没有做过内核编程,所以我希望这在用户空间是可能的。

一切都取决于使用该设备的应用程序的期望。

如果/dev/ttyTEST的行为像一个真正的串行设备,并正确响应所有设置其速度等的ioctl,那么这不能从用户空间完成。但是,在内核空间中实现它不会太难。

如果/dev/ttyTEST只需要是tty,那么提供一个伪tty。

如果/dev/ttyTEST仅仅是另一个应用程序可以写入和读取的东西,那么socketpair()就会这样做。

如果你可以控制应用程序的代码,那么你可以让它检查设备是套接字对还是真正的字符设备,并忽略套接字上串行端口特定api的失败。