从串行端口读取,.NET中字节之间有超时

问题描述

我想从串行端口读取一些数据。但是,数据包的定义不明确-没有固定的长度或结尾字符。我要解决的问题是等到串行端口在短时间内停止发送数据(例如50ms),然后说一次传输完成。在Python中,我可以使用pyserial的inter_byte_timeout功能。我相信设备会一次性发送所有字节,因此可以正常工作。

如何在C#中做到这一点?我一直在使用System.IO.Ports.SerialPort,但可以使用其他解决方案。

不起作用的是普通的ReadTimeout属性。那只会等到第一个字节。然后读取将返回任意数量的数据。我也不能使用ReceivedBytesThreshold,因为我不知道它总共有多少字节。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)