将串行数据重定向到以太网数据

时间:2013-10-02 09:06:24

标签: c redirect serial-port ethernet

(抱歉我的英语不好)。

今天,我想将所有数据从一个端口重定向到另一个端口。 (就像socat或netcat,但由于他们的许可我不能使用这些工具)。

我的数据未定义(因此不是开始或停止位)并且长度不同。

  • 从以太网端口到以太网端口很容易(有以太网头)。
  • 从以太网端口到串口,它也很容易(有以太网头了解帧的开始和结束,因此在切断数据后将数据发送到串口)。

但我的问题是从串口到以太网端口。 如果我没有标题,我怎么知道从串口收到全帧的时间? 因为在以太网端口重定向数据之前,我需要接收所有数据,只有在以太网帧中转换后,我们同意吗?

我想到了这个解决方案: 我可以定义一个帧间延迟,如果两个串行数据字节之间的时间小于帧间延迟,则数据在同一帧中,我在以太网帧中转换帧之前等待下一个数据。

1 个答案:

答案 0 :(得分:0)

如果您通过串口使用以太网编码(包括标头),您应该更容易计算数据包边界。

另请查看现有的工具,例如good old SLIP