我正在开发一个从串行端口读取数据并通过 TCP 连接发送数据的应用程序,反之亦然。不幸的是,从串行端口读取数据时,它永远不会停止。它不检测 EOF 标记,也不检测 EOL 或其他一些特殊字符。
那么,我如何在 C 和 Linux 中通过串行端口检测文件结尾(或“连接结束”)?
最佳答案
取决于您对用于串行链路的协议(protocol)的控制程度。除非文件隐含地包含一些文件结束标记(据我了解您的帖子,它们没有),否则您需要实现某种通信协议(protocol)才能传输文件。
BBS 时代使用的一些最简单的协议(protocol)是 XMODEM而且是衍生品。它们可能足够简单,供您使用。
如果您在串口线的另一端有一台成熟的计算机,那么仅通过串口线设置 PPP 链接并通过 TCP/IP 进行通信可能会简单得多。
关于c - 使用 Linux 和 C 通过串口发送文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1317276/