C# 18. 串口接收后延时时间的设定

您所在的位置:网站首页 modbus发送接收时间间隔设置 C# 18. 串口接收后延时时间的设定

C# 18. 串口接收后延时时间的设定

2024-07-10 20:38| 来源: 网络整理| 查看: 265

private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { System.Threading.Thread.Sleep(200);//延时200ms等待接收完数据 Invoke((EventHandler)(delegate { Cnt = serialPort1.BytesToRead; //获取接收缓冲区中的字节数 serialPort1.Read(Buf, 0, Cnt); //读取接收缓冲区中num个字节到byte数组中 } ) ); } catch (Exception ex) { MessageBox.Show(ex.Message); } }

1.CH340驱动 2400波特率下, 进serialPort1_DataReceived(),实测接收了80%数据 2. FT232驱动 2400波特率下, 进serialPort1_DataReceived(),实测接收了12%,差不多接收到几个字节就进中断。所以延时要根据接收的数据帧长度来保证数据帧接收完整。 3. 其他驱动的设备例如CP2102、PL2303等后期再测试。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3