c++ - Qt/C++中创建虚拟串口

标签 c++ qt serial-port virtual-serial-port

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

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

最佳答案

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

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

如果/dev/ttyTEST 只需要是一个tty,那么provide a pseudo tty .

如果 /dev/ttyTEST 仅仅是另一个应用程序可以写入和读取的内容,那么 socketpair() does it .

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

关于c++ - Qt/C++中创建虚拟串口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23529037/

相关文章:

c++ - 以通用方式对所有结构成员求和

c++ - 指定不解释范围的字符集

c++ - C 的 SOLID 原则实现

c++ - Qt Serial Port - 一致读取数据

c++ - 在 C++ 中对 double 值使用 %

qt - QProcess::startDetached被UAC阻止(运行更新程序)

qt - 如何在 Qt Creator/Designer 中更改小部件的顺序?

c++ - 如何将鼠标/光标添加到非触摸手机的 QML 应用程序?

c++ - 使用 Boost Asio 从串行端口读取

java - 通过 TCP/IP 的 RS485 通信