private string nstr = "";
private string mstr = "";
public void YF_DataReceived(object sender, SerialDataReceivedEventArgs e) {
int line = ComDevice.BytesToRead;
byte[] data = new byte[line]; //定义缓冲区,因为串口事件触发时有可能收到不止一个字节
ComDevice.Read(data, 0, line);
foreach(byte Member in data) //遍历用法
{
nstr += (char)Member;//读取数据
if (nstr.Length >= 4) {//判断数据是否读完,读完退出循环遍历
break;
}
}
textBox1.AppendText(nstr);
//取中间数值
int star = nstr.IndexOf("@") + 1;//读取开始位置
int end = nstr.IndexOf("!");//读取结束位置
int middle = Convert.ToInt32(nstr.Substring(star, end - star),16);//取到中间的值并转
串口通讯系列五之串口数据接收处理
最新推荐文章于 2024-08-16 21:30:28 发布
本文介绍了一个使用C#处理串口数据的例子,包括读取串口收到的数据,解析中间数值,并根据数值执行不同操作。在数据接收事件中,通过循环遍历接收到的字节,判断数据是否读取完成,从中提取16进制值并转换为整数。然后,根据这个整数的值,执行不同的处理逻辑,如输出特定的16进制值。
摘要由CSDN通过智能技术生成