附加字符串时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