【发布时间】:2014-05-07 21:44:27
【问题描述】:
我想创建一个显示为串行端口的 linux 应用程序(例如 /dev/ttyTEST)。此应用程序将侦听发送到端口的命令,并做出响应。
这可能使用 Qt/C++ 吗?我还没有做过内核编程,所以我希望这在用户空间中是可能的。
【问题讨论】:
标签: c++ qt serial-port virtual-serial-port
我想创建一个显示为串行端口的 linux 应用程序(例如 /dev/ttyTEST)。此应用程序将侦听发送到端口的命令,并做出响应。
这可能使用 Qt/C++ 吗?我还没有做过内核编程,所以我希望这在用户空间中是可能的。
【问题讨论】:
标签: c++ qt serial-port virtual-serial-port
一切都取决于使用此类设备的应用程序所期望的。
如果/dev/ttyTEST 表现得像一个真正的串行设备并正确响应所有设置其速度的ioctl 等,那么这不能从用户空间完成。不过,在内核空间中实现并不难。
如果/dev/ttyTEST只需要一个tty,那么provide a pseudo tty。
如果/dev/ttyTEST 仅仅是另一个应用程序可以写入和读取的东西,那么socketpair() does it。
如果您可以控制应用程序的代码,那么您可以让它检查设备是套接字对还是真正的字符设备,并忽略套接字上特定于串行端口的 API 的故障。
【讨论】: