通过C#中的串口读取整个字符串

时间:2011-04-13 17:54:46

标签: c# .net readline

HI伙伴

我正在尝试读取串口发送的字符串,我首先使用readline()函数但由于字符串有多行,我必须循环,我如何阻止我到达字符串的末尾,或者有没有办法我可以使用其他读取线读取整个字符串,而不依赖于新行。

谢谢

太平绅士

2 个答案:

答案 0 :(得分:2)

除了在线上使用的协议之外,没有其他神奇的方法。

如果您是从另一个端点发送的,则需要在字符串的末尾添加一些内容,告诉接收端点已发送所有内容。

如果您尚未开发另一个终点,则需要询问制造商/开发人员如何确定字符串的结尾。

标记串行消息开头和结尾的一种非常标准的方法是使用ASCII字符STX / ETX(ASCII表中的0x2和0x3)

答案 1 :(得分:1)

ETA:这不是一个好主意,因为你不知道什么时候到达字符串的末尾。

我不知道串口方面,但假设你有一个Stream并且所有数据都可用,你可以将它包装在StreamReader中并调用ReadToEnd