HI伙伴
我正在尝试读取串口发送的字符串,我首先使用readline()函数但由于字符串有多行,我必须循环,我如何阻止我到达字符串的末尾,或者有没有办法我可以使用其他读取线读取整个字符串,而不依赖于新行。
谢谢
太平绅士
答案 0 :(得分:2)
除了在线上使用的协议之外,没有其他神奇的方法。
如果您是从另一个端点发送的,则需要在字符串的末尾添加一些内容,告诉接收端点已发送所有内容。
如果您尚未开发另一个终点,则需要询问制造商/开发人员如何确定字符串的结尾。
标记串行消息开头和结尾的一种非常标准的方法是使用ASCII字符STX / ETX(ASCII表中的0x2和0x3)
答案 1 :(得分:1)
ETA:这不是一个好主意,因为你不知道什么时候到达字符串的末尾。
我不知道串口方面,但假设你有一个Stream并且所有数据都可用,你可以将它包装在StreamReader中并调用ReadToEnd。