C#串口串口通信 大数据量实时处理

顽主小贝 2012-04-11 09:50:44
我的任务主要是每隔3秒,下位机发送一个6764大小的16进制字节数据包,通过serialport读取串口数据,需要将此数据包转换为52个long型整数,作为纵坐标绘制实时曲线,横坐标为规定的长度为55的double数组,采用的是mschart控件,可能由于设备或连接线过长原因,会造成错误或不完整数据,请问采用哪种校验方式比较好?还有使用mschart控件本身的dataReceived事件可否在3秒的时间间隔内,完成对数据包的接受,转换,存储,绘制曲线???还有没有更好的方法???还望各位大虾多多指教,小弟在此谢过、、、

...全文
1287 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuqing19830921 2012-09-12
  • 打赏
  • 举报
回复
一般是都是做多线程吧,将多个操作分开处理,用信号量,互斥等控制线程同步
liuyongqiangslw 2012-09-11
  • 打赏
  • 举报
回复
遇到同样问题!求解释?
fsstolw 2012-07-10
  • 打赏
  • 举报
回复
同意6楼的,接收数据和处理分开
beifang1986 2012-07-10
  • 打赏
  • 举报
回复
串口每次最大发送字节为4096 所以你得两次发送过去,再进行组合,,,
baobaodqh 2012-07-10
  • 打赏
  • 举报
回复
学无止境啊!
showlie 2012-07-10
  • 打赏
  • 举报
回复
http://www.cnblogs.com/showlie/articles/2367154.html
lizdp 2012-07-09
  • 打赏
  • 举报
回复
为什么我将串口接收到的数据保存在ACCESS中时,发第一个字符,显示正确,发第二个时,数据库中保存的除了第二个字符外,还有一行空的,第3个字符时,后面空行更多
顽主小贝 2012-04-11
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
3秒还不够处理?
你的是啥东西3s还处理不完。处理不完就需要界面与数据分别处理了。你总不至于是ling来写这个东西吧??
[/Quote]
我用sscom调试,短时间内基本上迟钝现象不是很严重(偶有),程序开一段时间数据接受就会出现混乱、、、调试未果
足球中国 2012-04-11
  • 打赏
  • 举报
回复
3秒还不够处理?
你的是啥东西3s还处理不完。处理不完就需要界面与数据分别处理了。你总不至于是ling来写这个东西吧??
顽主小贝 2012-04-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
校验方式,这个你自己定吧,没有固定的,只要你能用来判断是否数据完整并据此来接收完整数据就可以了
[/Quote]
郑哥,求指教啊!!!对于小弟上次的不礼貌行为,吾深感抱歉、、、
顽主小贝 2012-04-11
  • 打赏
  • 举报
回复
如果不适用serialport换为api会不会减少一部分时间?还有有没有绘制更快一点的图表控件???
顽主小贝 2012-04-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
校验方式,这个你自己定吧,没有固定的,只要你能用来判断是否数据完整并据此来接收完整数据就可以了
[/Quote]
我现在采用的是对数据头尾进行校验,但是现在的问题在于,在3秒时间间隔内接受如此大的数据,并进行处理转换,还要进行保存,绘制实时曲线,时间处理上太有难度了、、、
bdmh 2012-04-11
  • 打赏
  • 举报
回复
校验方式,这个你自己定吧,没有固定的,只要你能用来判断是否数据完整并据此来接收完整数据就可以了

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧