我正在测试一个程序,它应该从串口接收数据并解析它,并不断更新与解析数据相关的某些变量。我在实际解析本身时遇到了麻烦。
我正在使用的端口的数据串输出是:8个数据位,1个起始位,1个停止位和无奇偶校验。消息以冒号符号开头:以#结尾。一个例子 - :3.00 20.45 2355 1000 554
第一个问题:有没有设置起始位的方法?我知道有一个.StopBits,我等于StopBits.One,但我没有找到任何起始位。
关于解析 -
在下面的代码方法中:
serial.DataReceived += new System.IO.Ports.SerialDataReceivedEventHandler(Receive);
private void Receive(object sender, SerialDataReceivedEventArgs e)
{
// Collecting the characters received to our 'buffer' (string).
received_Data = serial.ReadExisting();
}
最好的方法是设置字符串数组= received_Data.Split,然后使用for循环遍历每个“split”并将其分配给正确的变量?我之前从未使用过端口,所以这对我来说都是新手。在环顾四周后,似乎有几种方法可以做到这一点,但不确定最好的方法是什么。