Code Bye

用serialport控件(C#)实现PC和多个传感器通信

初学串口通信,单个温度传感器的通信已经没问题,用timer自动1000ms发送一次,用DataReceived接收并且能显示温度和曲线,现在要同时跟三个传感器通信,每个传感器的发送命令字节数不同,接收数据的字节数也不同,想要发送一个收到一个之后再自动发送第二个命令接收第二条数据,然后第三个,轮一轮之后再从头开始,我在timer里这样写能做到自动轮流发送,但是收的时候就乱了,求高手帮忙!谢谢!
private void timer1_Tick(object sender, EventArgs e)
{
k++;
if (k > 3) k = 1;
switch (k)
{
case 1:
byte[] boutdata1 = { 0x01, 0x04, 0x01, 0xE3 };
serialPort1.Write(boutdata1, 0, 4);
break;
case 2:
byte[] boutdata2 = { 0x02, 0x03, 0x00, 0x01, 0x00, 0x01, 0xD5, 0xF9 };
serialPort1.Write(boutdata2, 0, 8);
break;
case 3:
byte[] boutdata3 = { 0x50, 0x03, 0x00, 0x03, 0x00, 0x01, 0x79, 0x8B };
serialPort1.Write(boutdata3, 0, 8);
break;
}


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明用serialport控件(C#)实现PC和多个传感器通信