
串口 都有缓冲机制的
很明显,读到的串口数据之前是存放缓冲区里
数据正确读取 后 原先存放在缓冲区里地方会清空的,用来接收 新的数据
你的 担心是多余的!除非 串口出现问题
^_^
我建议你这样做: 因为串口数据要采集并且保存,建议你使用数据库保存串口数据,然后用ASPNet连接保存数据的数据库,从数据库里面读取数据,然后就可以将数据显示在TextBox中了 其中涉及的技术:数据库数据的保存,ASPNet的数据库 *** 作和基本的ASPNet的控件显示技术都很成熟,网上的范例很多,你可以在google里面搜索并且参考
c#是使用流来处理串口的,所以不是存在准确的间隔时间的。串口驱动并不一定能及时引发DataReceived事件。而且串口的不确定性也不能用时间间隔作为数据的分隔。下位机应使用特定的通信协议来传送数据。电脑则使用默认的每来一个字节触发一次DataReceived,但这个触发时机也是不准的,不可能真的每来一个字节就会触发一次DataReceived。当收来下位机发来的起始字符就说明收数开始,可一直收到结束字符。使用串口一定要对数据进行CRC校验。通常来这样设计通信协议:起始字符 数据 结束字符 CRC校验码。校验正确后就可对数据进行处理。
1、帧头+数据+校验+帧尾
这是一个典型的方案,但是对帧头与帧尾在设计的时候都要注意,也就是说帧头、帧尾不能在所传输的数据域中出现,一旦出现可能就被误判。如果用中断来接收的话,程序基本可以这么实现:
unsigned char recstatu;//表示是否处于一个正在接收数据包的状态
unsigned char ccnt; //计数
unsigned char packerflag;//是否接收到一个完整的数据包标志
unsigned char rxbuf[100];//接收数据的缓冲区
以上就是关于串口收到的数据放在什么地方了全部的内容,包括:串口收到的数据放在什么地方了、asp.net 接受到的串口数据怎样在TextBox中显示、C# 串口如何一次性接收完数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)