社区
C#
帖子详情
c# 串口接收大量数据后,我要每50组数据处理一次应该怎么办?
mwn_3517
2014-02-11 03:04:15
我用串口接收数据,数据是每50ms发送一组数据,一组数据的大小事50byte,我利用事件来接收数据,接收数据远远大于50byte,但是我想每50byte处理一次,应该怎么办?
...全文
580
6
打赏
收藏
c# 串口接收大量数据后,我要每50组数据处理一次应该怎么办?
我用串口接收数据,数据是每50ms发送一组数据,一组数据的大小事50byte,我利用事件来接收数据,接收数据远远大于50byte,但是我想每50byte处理一次,应该怎么办?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
mwn_3517
2014-02-12
打赏
举报
回复
我说的接收的比发送的多指的设备一直在发送数据,而我需要每50组处理一次,我想将接收的数据放在队列中,然后每次取出50组进行处理
大湿级
2014-02-12
打赏
举报
回复
是用SerialPort这个控件来收发数据的吗! comP.BytesToRead得到接受的数据,然后一个循环将每50个byte输入到数组,操作数组就好了; 你得到的数据比接受的多,你还得看看。。。
编程有钱人了
2014-02-12
打赏
举报
回复
设置缓冲区啊,每次读 byte[] by=new byte[50]
mwn_3517
2014-02-12
打赏
举报
回复
具体是这样的,我要通过串口读取设备的数据,该设备是每隔50ms发送一次,停止位是oD,OA,一次发送50组,我采用SerialPort和线程实现?我想每隔50ms读取一次,然后处理。下面是代码?但是里面存在一些问题,首先是接收的数据远远大于50组,另外,我想将接收的数据处理之后,显示到界面上,但是出现不在同一线程上 private void 接收ToolStripMenuItem_Click(object sender, EventArgs e) { string rece = "SO1/n"; Serial_4612.Write(rece); ReceiveThread = new Thread(new ThreadStart(Serial_4612_DataReceived)); ReceiveThread.Start(); Thread.Sleep(50); } private void Serial_4612_DataReceived() { Byte[] receive=new Byte[4096]; int n=Serial_4612.Read(receive, 0, Serial_4612.ReadBufferSize); ByteList.Enqueue(receive); if (receive!=null) { Byte[] received = new Byte[50]; received = ByteList.Dequeue(); ProcessData(received); m++; } } private void ProcessData(Byte[] received) { int[] Channel = new int[6]; int j = 0; for (int i = 0; i < 33; i++) { if (i % 6 == 0) { Channel[j++] = received[i] * 65536 + received[i + 1] * 256 + received[i + 2]; } } if (m % 20 == 0) { txt_Channel1.Text = Channel[0].ToString(); txt_Channel2.Text = Channel[1].ToString(); txt_Channel3.Text = Channel[2].ToString(); txt_Channel4.Text = Channel[3].ToString(); txt_Channel5.Text = Channel[4].ToString(); txt_Channel6.Text = Channel[5].ToString(); } }
zhpfaff
2014-02-11
打赏
举报
回复
事件来接收数据,发多少就收多少,怎么可能收得比发得多?
C#
SerialPort 串口读写
串口发送接收
数据
,支持
大量
数据
交互
C#
多串口
数据
接收与日志记录解决方案
XML文件的解析指的是读取XML
数据
并将其转换为可在应用程序中使用的格式的过程。有几种常见的XML解析方法:DOM解析:文档对象模型(Document Object Model)解析将整个XML文档加载到内存中,并创建一个树形结构来表示其层次关系。DOM解析允许随机访问文档的任何部分,但对大型文档的内存消耗较大。SAX解析:简单API用于XML(Simple API for XML)解析采用事件驱动模型,从头到尾顺序读取XML文档。
C#
开发串口小助手(可更改波特率、串口号,可实现
数据
以及字符的收发)
0. 前言 前置项目为:VS 2019中利用
C#
语言在.Net Framework 4.5框架上开发简易串口发送
数据
软件 1. 项目实现 1.1 配置Form1.cs[设计]文件 首先放入如下控件:Label、ComboBox、RadioButton、Panel、Button、TextBox 1.1.1 添加Panel的作用 Panel属于容器控件,官方对Panel作用的说明是:允许对控件集合分
组
。 在上图中,用Panel把四个RadioButton分为两
组
,这样就可以实现,在每个
组
内,有且仅有一个Ra
基于
C#
Winform的串口
数据
接收
今天,我分享一篇文章,讲述&nbsp;基于
C#
Winform的串口
数据
接收编程(适合大概明白WinForm编程的同学,没有接触过WinForm的同学下载源码学习) 首先添加串口(自行拖拽) [csharp]&nbsp;view plain&nbsp;copy SerialPort&nbsp;serialPort1&nbsp;=&nbsp;new&am
C#
TextBox控件 显示
大量
数据
串口通信:在使用TextBox空间显示
数据
时,因为要显示
大量
的接收到的
数据
,当
数据
量大且快速(串口1ms发送一条
数据
)时,使用+=的方式仍然会造成界面的卡顿(已使用多线程处理),但使用AppendText效果就会好一点。 代码: 1 Thread dataThread = new Thread(delegate() 2 ...
C#
111,129
社区成员
642,541
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章