我有一个与 Linux 和串行端口相关的问题。
我希望能够接收消息并将消息发送到专用串行端口,并将其重定向到另一个端口 (/dev/tty)。
对于第一部分,我能够毫无问题地与我的硬件设备对话,但我只是想知道是否可以拦截来自串行端口 #1 的消息并将其重定向到另一个端口 #2。
为了提供更多背景信息,我多年来一直使用 GPS 天线和 NTP 开源软件。
自 2018 年以来,新的 GPS 天线协议(protocol)修改了 NTP 用于引导的消息中的字节顺序,现在它不再起作用。
所以我的想法是放置一个简单的 C 程序(中间件)来修复这个字节顺序;但我想知道是否必须构建一个特定于内核的模块或者是否可以通过其他方式完成。 NTP 软件使用对话框的符号链接(symbolic link)。
感谢您的帮助。
最佳答案
您也许可以使用简单的重定向,请看这里: Pipe One Serial Port to Another in Linux
如果端口的速率不同,您可以使用 stty 或 screen 来调整:https://unix.stackexchange.com/a/117064
如果您需要将其放在 C 程序中来操作它,您可以使用以下命令:https://stackoverflow.com/a/6947758/8901188
使用 c 时,它需要在无限循环中运行,以便能够不断地读取、操作和写入数据。
关于c - Linux 串行端口 (tty) 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59871699/