如何清空上一个串口接收的数据

问题描述

如何清空上一个串口接收的数据

源码测试OK了,但连续读取串口数据时是叠加的数据,我想单独数据,请版主给个建议哦,新手提问,谢谢!

解决方案

根据你的代码,接收数据的部分,直接释放内存重新写入即可

解决方案二:

串口缓冲区的内容不是应用程序可以管理到的。只有每次读的时候才会清空。你要不发生/少发生两个包叠加的情况,一个是及时收数据,另一个是改变你的数据解析策略.

解决方案三:

你的串口信息肯定是用数组或者什么来存储的吧,每读一次,操作完之后或者读之前清空,然后再读再操作就OK

时间: 2025-01-26 12:59:27

如何清空上一个串口接收的数据的相关文章

缓存-将串口接收的数据实时刷新在Edit控件上,问题在于如何将BYTE数组转成CString

问题描述 将串口接收的数据实时刷新在Edit控件上,问题在于如何将BYTE数组转成CString 想请问串口接收数据到一个缓存中(BYTE或PBYTE)吧,但是因为输出到Edit控件中就必须先转成CString(看到EDit的成员函数都是操作CString的),即问题在于如何将BYTE数组转成CString,网上查了一下有限个数的数组可以依次Format到CString,但因为现在是大量的数据,所以这个问题如何解决?还有Edit控件显示接收到的数据,肯定不能是"00010203".而最

linux 串口-求问Linux串口接收的数据最高位总是0是怎么回事呀 求助!!!!!!!!!!!!11

问题描述 求问Linux串口接收的数据最高位总是0是怎么回事呀 求助!!!!!!!!!!!!11 求问Linux串口接收的数据最高位总是0是怎么回事呀 !!!!!!!!!!!!!!!!!!!!!!!! 解决方案 linux 串口数据丢失 接收不到0x11

C#如何用一个串口接收两个以上变量的数据

问题描述 ]刚开始学C#没多久,想用串口接收两个变量的数据分别显示在两个textBox里.比如温度和湿度的数据.单独传输一个我会写,但不知道两个的该怎么写,请赐教,谢谢. 解决方案 解决方案二:用serialport这个组件,然后在DataReceived事件里面接收数据,事件里面bytestoread读取长度,然后read事件读数据,接收到一帧完整数据后解析出来,放到你的控件里面就行了解决方案三:1.串口通讯,需要先设置串口的基本配置参数如com口,波特率.奇偶校验位等.2.和数据发送方,核对

C#中Chart控件怎么将串口接收的数据绘制在雷达图上

问题描述 使用Chart控件将串口接收到的数据实时绘制在雷达图上,也就是极坐标形式的图,坐标分别是角度(360度)和电压,接收到的数据已经可以在TextBox中看到了,不知道接下去的代码要怎么写. 解决方案 本帖最后由 u012482436 于 2014-09-06 20:45:42 编辑解决方案二:textBox1.Text=sb.ToString();stringyValue=textBox1.Text;stringxValue=textBox1.Text;chart1.Series["Se

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

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

数据显示-如何将串口接收到的数据返回给主线程并显示在编辑框中?

问题描述 如何将串口接收到的数据返回给主线程并显示在编辑框中? 小弟用的是serialPort,MFC,怎么才能把串口接收到的数据返回给主线程显示在编辑框中?求大侠帮助! void CRBAS_ODBCView::OnButtonSurveyStart() { /**************发数据*********************************/ SerialPort^ _serialPort = gcnew SerialPort("COM3", 38400, Par

30路串口接收数据,开始每一个串口已经绑定串口事件,那接收端怎么用一个Datarecived事件区分哪个串口的啊

问题描述 30路串口接收数据,开始每一个串口已经绑定串口事件,另外定义了一个类用来处理接收到的串口数据.程序启动时new了30个串口数据处理类的对象.问题:1)那接收端怎么用一个Datarecived事件区分哪个串口的啊?2)每个串口都绑定接收事件,这种情况下是不是相当于在程序开始就已经给每一个串口开辟了自己的内存数据处理空间,在开始阶段就实现了每一个串口的分流形式.因此接收时,每个口只是处理自己的,跟其他口的处理过程间无任何关系,完全独立? 解决方案 解决方案二:在线等,希望哥哥姐姐们指点迷津

怎么用c#编程不断的从串口接收数据并显示在textbox上,新手求帮助

问题描述 怎么用c#编程不断的从串口接收数据并显示在textbox上,新手求帮助 如题,怎么用c#编程不断的从串口接收数据并显示在textbox上,新手求帮助 解决方案 用个Timer每隔一段时间去读取数据,然后用textbox的textbox.text=""就行了,如果是要逐行的话就APPText就行了,不过建议你可以用richtextbox,那个有滚动条用着爽.

缓存-关于串口接收数据缓冲问题

问题描述 关于串口接收数据缓冲问题 我用串口测试实时接收一个2k采样率的正弦波并显示波形,不管是我自己写的程序还是Labview 都出现了同一个问题,就是一开始波形的频率是对的,然后我进入中断一会,回来继续接收数据 感觉波形被压缩了一样,突然来了一大堆数据,过一会就会恢复正常.这是缓存区哪里的问题呢?接收缓冲,传输缓冲? 解决方案 接收缓冲吧,数据没被处理. 解决方案二: 在中断时,串口设备还在不断的发送数据: 中断结束,恢复正常时:接收缓存区有一大堆数据,这时你有两种处理方式: 1.把这些数据