易语言端口接收数据如从特定数据开始,保存进动态数组
如题。下位机发过来的数据帧。是0XA6开头的,后面跟6个字节的数,在跟一个校验位,总共八个字节。我想如何判断数据是否正确,想先把这八个字节的数保存进一个数组。然后去判断,...
如题。下位机发过来的数据帧。是0XA6开头的,后面跟6个字节的数,在跟一个校验位,总共八个字节。我想如何判断数据是否正确,想先把这八个字节的数保存进一个数组。然后去判断,
就是不知道该如何保存。请教、
按照你说的做了个小实验,单片机固定发送数据,确实分开了。但是为什么数据这么不稳定啊。 展开
就是不知道该如何保存。请教、
按照你说的做了个小实验,单片机固定发送数据,确实分开了。但是为什么数据这么不稳定啊。 展开
1个回答
展开全部
请先参考我2月28日的"易语言串口数据发送与接收问题"的回答,有源码后再追问
http://zhidao.baidu.com/question/710929566506440685.html?oldq=1
http://zhidao.baidu.com/question/710929566506440685.html?oldq=1
追问
追答
按你所描述的状态,我认为你的通信设置有问题,应该是先发送一条命令,然后取回一条信息,进行处理后再发送一条命令,再取回处理.......这样,才不至于导致信息堵塞。
不过你的信息编码设计比较合理,有头部编码"A6",有尾部CRC校验,每条返回信息固定8个字节。
根据本你的描述,本例程不能直接用编辑框来进行记录,也不能直接用数组来存储,这样会造成数据堵塞甚至电脑瘫痪 。
如要记录一条完整的接收信息,可用下面的代码:
返回的数据应用校验进行检测,如果不符合很可能是模块产生了误操作,或者发回的信息受到了干扰,或者供电电源有干扰,或者电源滤波不彻底.......等很多因素造成,在处理过程中应舍弃掉。这要与硬件设计者进行沟通了,应该与本程序没有多大的关联
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询