串口通信,频繁发送数据, ReadExisting()得到一样的数据

问题描述

20ms一次,朝串口发数据。用ReadExisting()接收数据同样的程序,有些电脑反应来得及,每次收回正常数据。有些电脑,数据就一直不变,就跟堵死了一样。把自己的程序关掉,用别的串口工具发送接收都是正常的。必须把程序重启,自己做的程序才又恢复正常!点解?谢谢

解决方案

解决方案二:
代码有问题呗发送之后不要立即接收,没法确保收到完整的数据加个足够长的sleep试试或者用recieved事件,多次收到的数据拼接一下话说,20ms一次,你波特率设置的多少啊,发多少字节,确保20ms能够完成一次发送接收??
解决方案三:
如果你波特率设置的9600,那么每秒能够发送或接收1200字节,大约1ms1个字节而已24个字节就已经20ms了
解决方案四:
那为什么程序关了。也不行得重启呢?
解决方案五:
而且我没24个字节。很短的。就是一个重量数据而已。MM12345678也就这么长
解决方案六:
upupup

时间: 2024-07-28 22:31:10

串口通信,频繁发送数据, ReadExisting()得到一样的数据的相关文章

串口通信-有关线程收发串口数据的问题

问题描述 有关线程收发串口数据的问题 最近写一个项目里面用到的是基于串口通信的. 由于我需要一直处于接收数据状态,并且可以随时发送数据(我的串口是RS232,支持全双工),于是想到了用两个线程去做. 一个处于收状态,一个发包用. 现在的问题是:我只有一个SerialPort对象 ,通过跨类的信号和槽得到这个对象,但是一放在线程的run函数读写就会报错. 我曾想过把串口的设置和连接放在线程类里面做,但是我这边两个线程呢,一个链接的话,端口就会被占用,另外一个线程就没法连接 困了一天了 不知道该怎么

求C#串口通信程度

问题描述 从设备采集显示数据,想采集作成cs结构的,显示作成bs结构的.cs结构做个串口通信的程序,从手持器中读数据.(手持器中数据从设备中采集),数据最终是要传进SQLServer中的,请问谁有类似的例子参考下?串口通信的程序想作成cs结构的,但是我显示数据的系统是bs结构的? 解决方案 解决方案二:上网查一个叫justinio的程序,但是那个程序有一个bug在调用SetCommState这个API之前,应该调用一下BuildCommDCB解决方案三:跟我们公司做的一样的东西哦.我手头现在没有

串口通信-casio dt930 串口发送数据

问题描述 casio dt930 串口发送数据 最近在做 casio dt930的盘点机,有一个问题是需要和pc端的一个系统进行数据对接,是直接将保存的数据通过串口通信发送出来,这该如何操作?谢谢了.

数据发送-C#中串口通信发送20字节的数据

问题描述 C#中串口通信发送20字节的数据 20字节数据是指160位二进制数吗?转换成整型怎么定义,最大也只有64位?还是指一个一个的数据,总共有20个? 解决方案 用byte[]发送.当然也可以用int[],一共需要5个int或者20个byte serialPort1.Write(字节数组)

数据接受-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) { buf

串口通信内存泄露-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

c#-C#中串口通信发送数据问题

问题描述 C#中串口通信发送数据问题 串口通信数据发送,除了可用字节数组byte[],还可以用其他的什么吗? 解决方案 串口硬件就是一个字节一个字节发的. 你可以通过c#的convert和ASCII转一下格式, 把其它的数据转成字节数组. 解决方案二: C#下调用JustinIO的串口通信问题C#串口通信 解决方案三: 不清楚.我做过几个串口通信的例子,不过使用byte[]都能达到要求,不知道你的需求是什么

串口通信-Java通过得到的Socket流向串口发送数据

问题描述 Java通过得到的Socket流向串口发送数据 我是一个菜鸟,最近学习Java ,写了个向串口发送数据的代码,有点问题,希望各位大神给指点指点 package server; import gnu.io.CommPortIdentifier; import gnu.io.PortInUseException; import gnu.io.SerialPort; import gnu.io.SerialPortEvent; import gnu.io.SerialPortEventLis

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

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