当前位置: 代码迷 >> C# >> C#serialPort怎么区分数据
  详细解决方案

C#serialPort怎么区分数据

热度:91   发布时间:2016-05-05 03:57:17.0
C#serialPort如何区分数据?
我在使用serialPort类来接发数据现在功能已经基本实现了,可是我在接收数据的时候有些疑问因为下位机的数据是不定时的发送过来的那么我怎么判断一条数据结束继而处理下一条呢?我已经深深的感觉自己脑子不够用了So上CSDN求各路大神能给一个脑洞打开的方案叩谢
------解决思路----------------------
最近也在使用serialPort开发串口通信楼主有没有什么好的教程可以分享一下?
------解决思路----------------------
一般发过来的数据都是有起始符或者停止符的,例如673403072877287623803075346524746,起始符是0307,一般是两位,除了起始位出现0307,其他数据位不会出现0307,这个需要咨询硬件接口厂商了解具体数据格式。
------解决思路----------------------
如果知道下位机数据长度,可以加以个_serialPort.ReceivedBytesThreshold = 长度;
------解决思路----------------------
如果长度不固定,那只能通过字节数组起止符来处理判断。一次读多少个字节,分别判断起止符,读到结束符的时候算一条完整数据。
------解决思路----------------------
PLC 设备有好多中,各厂商的通讯协议也略有不同。不知道你们的是哪家的

你只要按照通讯协议开发软件,就不会有问题的 
PLC串行通讯协议