数组调序问题

请问一下,PLC的通信端口接收到一串28个字节的数据,我需要其中7个字节的数据(以FF 05为开头标志,后面是5个字节的数据,比如“FF 05 19 02 39 EB 12”,其余的数据基本上都是00),但这串7字节的数组在总的数组里游走不定,极端情况是一部分在末尾一部分在开头。现在的思路是利用指针进行排序,将需要的7字节数组拍到开头,然后取出来。也大概了解冒泡法排序,但不知道如何去找准“FF 05”这个标志。对实现这个功能的程序不知道怎么写,希望得到各位的指点,谢谢!

问题补充:
“FF 05 XX XX XX XX XX”这串数组总是整体的移动,其中5个字节的数XX会变化。其余的数据基本都是00,但有时会出现一个随机数,不会再次出现“FF 05”的情况(FF 05标志是唯一的)。极端情况下会出现类似“XX XX XX 00 00 00 ..... 00 00 FF 05 XX XX”的情况。

最佳答案

没有人会设计一个这样的通讯协议的,希望你读通协议,不要把好像正确的结果误会成正确的结果。白操心。
自由口通讯接收程序有多种多样的接收方式。请选择最正确的一种。
你可以用循环的方式把整段字符向前或者向后循环移位,直到排头的两个字节等于你期望的字符,然后开始读取后面的5个字节。

提问者对于答案的评价:
谢谢!用for循环语句配合成块字节移动指令做出来了,也多谢大家的指点

原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc370608.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2021年7月5日 下午4:19
下一篇 2021年7月5日

相关推荐

发表回复

登录后才能评论