Csharp/C#教程:附加字符串时C#SerialPort DataReceived问题分享


附加字符串时C#SerialPort DataReceived问题

我有一个DataReceived方法触发从RS232设备发送数据。 通过以下代码顺利运行

byte[] data = new Byte[serialPort.BytesToRead]; serialPort.Read(data, 0, data.Length); string read = System.Text.Encoding.ASCII.GetString(data); 

但如果我在数据后添加一个字符串

 string read = System.Text.Encoding.ASCII.GetString(data) + "asdf n"; 

仍然会收到数据,但偶尔会显示不正确的数据。 例如,如果我连接到秤并且应该读取“10.45kg asdf”,它将在我的计算机上显示为“10. asdf45kg”。 这里有什么问题?

当串口感觉触发它时,将触发DataReceived方法,这不一定是从设备收到完整字符串时。 有关详细信息的详细讨论,请参阅此SO答案 。 如果您有一个已知的终结符,可以通过设置SerialPort的NewLine属性,然后使用ReadLine()来解决此问题。

上述就是C#学习教程:附加字符串时C#SerialPort DataReceived问题分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/951105.html

(0)
上一篇 2021年11月18日
下一篇 2021年11月18日

精彩推荐