[发明专利]基于串口的通信方法及系统、接收端在审
申请号: | 201710506016.3 | 申请日: | 2017-06-28 |
公开(公告)号: | CN107294976A | 公开(公告)日: | 2017-10-24 |
发明(设计)人: | 张连聘;卞西晗;刘强 | 申请(专利权)人: | 济南浪潮高新科技投资发展有限公司 |
主分类号: | H04L29/06 | 分类号: | H04L29/06;H04L29/08;G06F13/42 |
代理公司: | 济南信达专利事务所有限公司37100 | 代理人: | 李世喆 |
地址: | 250100 山东省济南市*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 串口 通信 方法 系统 接收 | ||
1.一种基于串口的通信方法,其特征在于,应用与接收端,包括:
预先设置所述接收端的状态机,以及所述状态机的至少一种状态,并设置每种所述状态对应的处理过程;
A1:确定所述至少一种状态中的初始状态,将所述初始状态作为当前状态;
A2:利用所述状态机,根据所述当前状态对应的处理过程,确定发送端发来的协议帧中的所述当前状态对应的字节,对所述当前状态对应的字节进行处理,确定下一个状态;
A3:转移到所述下一个状态,将所述下一个状态作为当前状态,返回A2。
2.根据权利要求1所述的方法,其特征在于,
所述协议帧包括:
起始标志字段、数据字节数字段、命令字段、数据字段、结束标志字段和校验字段;
其中,
所述起始标志字段用于保存起始标志;
所述数据字段用于保存待传输的数据;
所述数据字节数字段用于保存所述待传输的数据的字节数;
所述命令字段用于保存命令代号;
所述结束标志字段用于保存结束标志;
所述校验字段用于保存校验数据。
3.根据权利要求2所述的方法,其特征在于,
所述至少一种状态,包括:开始状态、数据长度高字节状态、数据长度低字节状态、命令字节状态、接收数据状态、结束标志状态、校验高字节状态和校验低字节状态;
所述确定所述至少一种状态中的初始状态,包括:
确定所述开始状态作为所述初始状态;
当所述当前状态为所述开始状态时,
所述A2,包括:
确定所述协议帧中的所述起始标志字段,接收所述协议帧的所述起始标志字段的所述起始标志,判断所述起始标志与预设的标准起始标志是否相同,如果是,则确定所述下一个状态为所述数据长度高字节状态,否则,确定所述下一个状态为所述开始状态;
当所述当前状态为所述数据长度高字节状态时,
所述A2,包括:
确定所述协议帧中的所述数据字节数字段的高字节,接收所述数据字节数字段的高字节,计算出所述数据字节数字段的高字节对应的第一字节数,确定所述下一个状态为所述数据长度低字节状态;
当所述当前状态为所述数据长度低字节状态时,
所述A2,包括:
确定所述协议帧中的所述数据字节数字段的低字节,接收所述数据字节数字段的低字节,计算出所述数据字节数字段的低字节对应的第二字节数,根据所述第一字节数和所述第二字节数,确定第一总字节数,确定所述下一个状态为所述命令字节状态;
当所述当前状态为所述命令字节状态时,
所述A2,包括:
确定所述协议帧中的所述命令字段中的所述命令代号,接收所述命令字段中的所述命令代号,判断所述命令代号是否是预设的至少一个标准命令代号中的任意一个,如果是,则确定所述命令代号对应的命令,确定所述下一个状态为所述接收数据状态,否则,确定所述下一个状态为所述开始状态;其中,每个所述标准命令代号对应至少一个命令;
当所述当前状态为所述接收数据状态时,
所述A2,包括:
将所述命令代号之后的所述第一总字节数个待接收字节作为所述接收数据状态对应的字节,接收所述命令代号之后的所述第一总字节数个待接收字节,确定所述下一个状态为所述结束标志状态;
当所述当前状态为所述结束标志状态时,
所述A2,包括:
将所述待接收字节之后的预设字节数个字节作为所述结束标志状态对应的字节,接收所述待接收字节之后的所述预设字节数个字节,判断所述预设字节数个字节与预设的标准结束标志是否相同,如果是,则确定所述下一个状态为所述校验高字节状态,否则,确定所述下一个状态为所述开始状态;
当所述当前状态为所述校验高字节状态时,
所述A2,包括:
确定所述协议帧中的所述校验字段的高字节,接收所述校验字段的高字节,计算所述校验字段的高字节对应的第一数值,确定所述下一个状态为所述校验低字节状态;
当所述当前状态为所述校验低字节状态时,
所述A2,包括:
确定所述协议帧中的所述校验字段的低字节,接收所述校验字段的低字节,计算所述校验字段的低字节对应的第二数值,根据所述第一数值和所述第二数值,确定总数值,根据所述总数值对所述协议帧进行校验,当通过校验时,输出所述协议帧的解析内容,确定所述下一个状态为所述开始状态,当没有通过校验时,确定所述下一个状态为所述开始状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于济南浪潮高新科技投资发展有限公司,未经济南浪潮高新科技投资发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710506016.3/1.html,转载请声明来源钻瓜专利网。