本发明属于无线通信网络,特别是涉及一种串口通信方法、计算机设备及计算机可读存储介质。
背景技术:
1、随着物联网和信息化技术的发展,串口通信在设备控制和信息传输领域的应用越来越广泛,串口通信是板级之间通信的常用方式,通过设置串口波特率,发送串口数据,能够很好地完成电路板之间的数据通信。
2、但是在现有技术中,串口通讯的主要方式是通过发送端与接收端约定好的协议进行命令解析,但由于不同硬件设备的发送端与接收端之间的性能差异,导致串口数据读取时间间隔不一致,易发生丢包、一串命令中缺少数据、粘包、多条命令同时混杂接收等情况,使得接收方无法稳定接收数据。
技术实现思路
1、本发明为解决上述背景技术中存在的技术问题,提供一种串口通信方法、计算机设备及计算机可读存储介质。
2、本发明采用以下技术方案:一种串口通信方法,包括:
3、s1,串口识别;具体包括:
4、s1.1初始化串口参数:初始化计算机设备;根据各com号打开串口,并设置不同的波特率;约定自定义串口命令,所述自定义串口命令的格式包括:至少两位数据头标识位、两位长度位、一位指令位、至少一位数据位和两位数据尾标识位;
5、s1.2自动串口识别:分别为各串口发送所述自定义串口命令,将回复正确命令的串口确定为连接有待测单板的串口,将其对应的com号确定为待绑定com号;存入串口集合,所述正确命令与所述自定义串口命令相对应;
6、s2,数据采集;具体包括:
7、s2.1智能控制信号传输:使用微控制单元的管脚智能控制,向所述连接有待测单板的串口依次发送控制信号;
8、s2.2建立智能串口映射关系:根据所述待绑定com号打开串口,读取串口的信号状态;对比串口的信号状态与控制信号;根据信号状态匹配策略进行处理;
9、s3,数据传输;具体包括:
10、s3.1数据通信:遍历串口集合,发送所述自定义串口命令,将所述待绑定com号和对应波特率记入缓存区内存及硬盘中;
11、s3.2查询串口,获取接受缓存区中所述串口数据的字节数,新建容量为所述字节数的字节数组,从串行端口资源输入缓冲区中,读取若干字节,将所述若干字节写入所述字节数组中;
12、s4,数据处理;具体包括:
13、s4.1判断命令是否完整:完整命令进入所述s1.2,若所述完整命令后仍有部分下一命令的字节信息,截取完整命令数据,待下次循环后补足;不完整命令存入新的字节集合,待下次循环时补足;
14、s4.2数据解析和处理。
15、优选的是,所述s2.2中的信号状态匹配策略为:
16、若串口的信号状态与控制信号不匹配,将识别下一个所述待绑定com号的串口;若相匹配,则建立所述待绑定com号与接收到控制信号串口的智能映射关系。
17、优选的是,所述s4.1具体包括:
18、s4.1.1通信双方约定所述自定义串口命令的格式;
19、s4.1.2若所述数据尾标识位的下标小于所述数据头标识位的下标,将命令数据存入命令集合中,位置为上次存储数据的最后一位下标;计算所述命令集合的总长度,若为预定长度的倍数,说明所述命令数据完整,开始解析所述命令数据;
20、s4.1.3若所述数据头标识位的下标与所述长度位相加所得长度大于所述串口数据总长度,说明所述命令数据不完整,记录所述命令数据的长度,并将所述命令数据存入新的集合中。
21、优选的是,所述s4.2具体包括:
22、s4.2.1数据解析:检索所述数据头标识位,若不存在,则清除当前数据并等待下一次循环读取;若存在,则获取所述数据头标识位后两位的长度位,将所述长度位与所述数据头标识位相加获得所述数据尾标识位的位置;验证所述数据尾标识位上的数据是否与约定的所述数据尾标识位相符,若相符,则将所述命令数据存入所述命令集合中;
23、s4.2.2多次数据合并:下一次读取所述命令数据时,检索第一个所述数据尾标识位和第一个所述数据头标识位,若所述数据尾标识位的下标大于所述数据头标识位,则说明上一次存储的所述命令数据发送不完整,需要清除集合;
24、s4.2.3数据分段解析:若所述串口数据长度大于预定的串口数据长度,则进行所述串口数据分段解析,按照约定所述自定义串口命令的格式进行解析;
25、s4.2.4异常情况处理:对于多次串口数据长度不完整或串口数据解析错误的情况,记录相关日志,排查硬件问题。
26、一种计算机设备,包括:至少一个处理器,以及与所述处理器串口通信连接的存储器;所述存储器存储有可被至少一个处理器执行的命令,所述命令在被执行时实现上述的串口通信方法。
27、一种计算机可读存储介质,存储有计算机指令,所述计算机指令在所述计算机上执行时实现上述的串口通信方法,并存储所对应的数据。
28、本发明的有益效果:
29、1.适用性广泛:本发明适用于windows端和安卓板卡等不同硬件设备,实现了多波特率串口的识别和数据处理,具有很高的灵活性;并得益于计算机设备中的微控制单元,通过控制管脚输出不同电平来实现控制信号的发送,进一步增强了硬件支持;
30、2.通信双方约定自定义命令格式,保证了通信的一致性和稳定性;
31、3.通过自定义串口命令和控制信号,本发明实现了对连接有待测单板的串口的自动识别,数据处理智能化,无需人工干预,从而显著提高了效率;
32、4.本发明能够将连接有待测单板的com号与串口自动绑定,消除了手动绑定的可能性,降低了错误发生的风险;
33、5.本发明能够应用于各种需要串口通信的场景,提升了通用性和适用范围,同时确保数据传输的正确性和实时性。
1.一种串口通信方法,其特征在于,包括:
2.根据权利要求1所述的一种串口通信方法,其特征在于,所述s2.2中的信号状态匹配策略为:
3.根据权利要求1所述的一种串口通信方法,其特征在于,所述s4.1具体包括:
4.根据权利要求1所述的一种串口通信方法,其特征在于,所述s4.2具体包括:
5.一种计算机设备,其特征在于,包括:至少一个处理器,以及与所述处理器串口通信连接的存储器;所述存储器存储有可被至少一个处理器执行的命令,所述命令在被执行时实现根据权利要求1至4中任一项所述的串口通信方法。
6.一种计算机可读存储介质,存储有计算机指令,其特征在于,所述计算机指令在所述计算机上执行时实现根据权利要求1至4中任一项所述的串口通信方法,并存储所对应的数据。
