数据接受-c#串口通信延迟问题,数据的发送和接受

问题描述

c#串口通信延迟问题,数据的发送和接受

在vs2010中调试运行,功能都完整,为什么在debug下运行exe文件。功能就会出现问题
自己认为是接受数据的时候发生了延迟。
comm_DataReceived 接受代码:

             int n = serialPort1.BytesToRead;
             byte[] buf = new byte[n];
             serialPort1.Read(buf, 0, n);
             buffer.AddRange(buf);
             if (!isDataReceived)
             {
                 buffer.Clear();
                 isDataReceived = false;
                 bindControlDetail();

             }
             else
             {
                 if (buffer.Count == 9)
                 {

                     if (buffer[0] == 0xee && buffer[1] == 0xff)
                     {
                         //byte[] binary_data_1 = new byte[9];
                         buffer.CopyTo(0, binary_data_1, 0, 9);
                         reader = CommonUtil.CommonUtil.byteToHexStr(binary_data_1);
                         buffer.Clear();
                         analysisRuningTimeControlData();//解析

                     }
                 }
                 if (buffer.Count > 9)
                 {
                     buffer.Clear();
                 }

             }

请教各位大神,帮忙看看!!!!

时间: 2024-12-23 10:31:53

数据接受-c#串口通信延迟问题,数据的发送和接受的相关文章

Java串口通信读取浮点型数据

问题描述 Java串口通信读取浮点型数据 怎么将如下位机中的数据:如温度读取并显示,大神们有具体的例子吗 解决方案 这个要取决于你下位机是用的什么方式通讯的,它的通信协议.基本的思路是读取串口数据,然后根据协议对得到缓冲区的字节数组进行解析. 参考:http://blog.csdn.net/wssiqi/article/details/14107341 解决方案二: java 串口通信Java串口通信简介

串口通信内存泄露-C#串口通信高速向下位机发送数据出现内存不断增加

问题描述 C#串口通信高速向下位机发送数据出现内存不断增加 using System; using System.Linq; using System.Collections.Generic; using System.Text; using System.IO.Ports; using System.Windows.Forms; namespace MSPCS { /// /// 通讯端口,用于和上位机通讯 /// 上行与下行使用同一种格式: /// /* 同步头 6 Byte EB90EB9

vbnet-VB.NET中如何处理串口通信接收的数据?

问题描述 VB.NET中如何处理串口通信接收的数据? 现在上位机的代码如下: Private Sub comm_DataReceived(ByVal sender As Object, ByVal e As SerialDataReceivedEventArgs) Dim n As Integer = comm.BytesToRead Dim buf(n) As Byte comm.Read(buf, 0, n) builder.Length = 0 Invoke(Sub() If checkB

如何在B/S架构的服务器端进行大数据量的串口通信, 并在客户端的浏览器上实时显示呢?(50分)

问题描述 现需开发一套B/S架构的软件系统,但在服务器端需要进行在数据量的串口通信,也就是说在服务器端需要通过串口向设备每秒就查询一次,由于设备较多,故数据量较大.并且要求,在客户端的浏览器上及时地显示最新的数据.想问:我如何架构这套软件系统呢?有人建议是串口通信及设备的管理使用VC编写成ActiveX控件或作成服务,然后在ASP中使用C#直接调用此ActiveX接口即可.这样可行吗?哪位能提供例子程序或告之哪里有例子程序吗?本人以前是C/C++程序员,对.net及网页这块不熟悉. 解决方案 解

在串口通信中,给设备发送命令,DataReceive为什么要分两次来接收数据

问题描述 在串口通信中,给设备发送命令不管我Send几次,DataReceive为什么要分两次来接收数据,而且每次接收数据的长度不一样,为什么?求大神指点,谢谢了privatevoidserialPort_DataReceived(objectsender,SerialDataReceivedEventArgse){try{byte[]buffer=newbyte[serialPort.BytesToRead];serialPort.Read(buffer,0,buffer.Length);st

uart 串口通信-单片机uart 数据接收不完整

问题描述 单片机uart 数据接收不完整 我通过串口调试工具,向芯片发送数据,但是每次都是接收到数据中的一个或者两个,接收不完整. void serial () interrupt 4 { u8 inuartnum = 0; u8 aa ; while (1 == RI_0) { RI_0 = 0: aa = SBUF0; } ReadFlag = 1; } 或者: void serial () interrupt 4 { u8 inuartnum = 0; u8 UARTBuf[36]=0;

《单片机串口通信及测控应用实战详解》——第6章 多个单片机与PC串口 通信的数据传送

第6章 多个单片机与PC串口 通信的数据传送 单片机串口通信及测控应用实战详解一台PC和若干台89C51单片机构成小型分散测控系统是目前微型计算机应用的一大趋势.在这样的系统中,以89C51芯片为核心的智能式测控仪表(从机)既能完成数据采集.处理和各种控制任务,又可将数据传送给PC(主机),PC将这些数据进行加工处理或显示.打印,同时将各种控制命令传送给各个从机,以实现集中管理和最优控制.显然,要组成这样的系统,首先要解决PC与各个单片机之间的数据通信问题,这是一个多机通信问题.

vc-VC++ 串口接收到大量数据 EDIT控件刷新速度跟不上

问题描述 VC++ 串口接收到大量数据 EDIT控件刷新速度跟不上 当串口接收到大量的数据的时候,EDIT控件做为显示数据,但是EDIT的刷新速度跟不上,在串口停止发送后好长时间,,EDIT的数据才能显示完成 波特率是115200的,有什么办法把刷新速度提上去吗? 解决方案 你要用异步,接收到后,不要处理,先放到内存保留,后台开一个线程,逐条处理,处理完一条就通知界面显示 解决方案二: 可以放在字符串变量中,然后每收到多少数据再更新一次界面. 解决方案三: 收发数据用一个单独的线程,主线程只处理

zigbee学习之串口通信

纠错:U0DBUF发送缓冲区,但是我在中文手册手册上没有找的到这个寄存器,手册上只有U0BUF,U0BUF编译会出错, 我去查了下英文手册,才发现原来是翻译人员翻译错误了,只有U0DBUF,建议看英文手册. 串口通信: P_2 接收端 P_3发送端(单片机和电脑的电频不同,通过PL2303转换,这是针对zigbee模块的 ,想51单片机可以通过232,485来转换). TTL 输出:低电平小于0.8,高电平大于2.4 .TTL 输入:低电平小于1.2,高电平大于2 P_2和P_3可以复用到串口,