1

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

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

4

1 回答 1

1

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

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

如果/dev/ttyTEST只需要是 tty,则提供伪 tty

如果/dev/ttyTEST只是成为另一个应用程序可以写入和读取的东西,那么socketpair()它就可以了

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

于 2014-05-08T08:29:34.903 回答