串口通讯参数调整的方法及终端设备技术

技术编号:23558007 阅读:64 留言:0更新日期:2020-03-25 03:40
本发明专利技术适用于通信技术领域,提供了一种串口通讯参数调整的方法及终端设备,该方法包括:在接收发送端发送的预设指令时,确定由预设指令对应的串口物理层电信号触发接收端的多次GPIO中断的中断时间和中断类型;根据中断时间和中断类型,分别计算发送端发送的预设指令中包括的数据帧中的数据位位数、校验方式以及停止位位数,并确定发送端的通讯参数;根据发送端的通讯参数,设置接收端的通讯参数,使发送端的通讯参数与接收端的通讯参数一致。从而可以在不需要通讯双方预设一样的通讯参数,也不需要后期人工根据电子设备用户手册进行设置,即使无法知道双方通讯参数的情况下,均可实现通讯参数自适应,因此使用效率更高、更灵活、更便捷。

The method of serial port communication parameter adjustment and terminal equipment

【技术实现步骤摘要】
串口通讯参数调整的方法及终端设备
本专利技术属于通信
,尤其涉及一种串口通讯参数调整的方法及终端设备。
技术介绍
任意两台电子设备之间通过串口进行通讯时,需要这两台电子设备的串口通讯参数一致,有且只有串口通讯参数完全一致,才能保证这两台电子设备能够进行正常通讯。一般通讯参数由起始位、数据位、校验位以及停止位组成,各位均采用二进制数据表示。例如通常起始位的值为0,数据位为任意值,数据位的位数固定,停止位的值为1,停止位的位数不固定。因此只有通讯双方的通讯参数的格式一致,且使用相同的波特率才能使得通讯双方正常收发数据。目前通讯双方进行通讯前,通过查询双方电子设备说明手册,确认以通讯双方任意一方的通讯参数作为标准通讯参数,然后把对方的通讯参数设置成标准通讯参数,才能正常进行通讯。然而,当某一通讯设备分别与多个不同电子设备进行通讯时,则每次对接一种电子设备,都要查询该设备说明手册,按照其确定的通讯参数设计格式来进行通讯。这种应用方式虽然普遍,但使用过程非常繁琐,并且效率低。
技术实现思路
有鉴于此,本专利技术实施例提供了一种串口通讯参数调整的方法及终端设备,以解决现有技术中通讯双方根据说明手册人为地设置相同的通讯参数,导致通讯参数调整过程繁琐并且效率低的问题。本专利技术实施例的第一方面提供了一种串口通讯参数调整的方法,包括:在接收发送端发送的预设指令时,确定由所述预设指令对应的串口物理层电信号触发所述接收端的多次GPIO中断的中断时间和中断类型;根据所述中断时间和所述中断类型,分别计算所述发送端发送的所述预设指令中包括的数据帧中的数据位位数以及数据位至停止位之间逻辑0的个数,并基于所述中断时间、所述中断类型以及所述数据位至所述停止位之间逻辑0的个数确定校验方式以及停止位位数;根据所述数据位位数、所述校验方式以及所述停止位位数确定所述发送端的通讯参数;根据所述发送端的通讯参数,设置接收端的通讯参数,使所述发送端的通讯参数与所述接收端的通讯参数一致。在一实施例中,所述预设指令包括连续的两个数据帧,所述两个数据帧为采用相同的协议格式传输的数据帧;其中第一数据帧中的数据位的最后一位为第一预设值,其余数据位为第二预设值,第二数据帧的中的数据位的最后两位为所述第一预设值,其余数据位为所述第二预设值。在一实施例中,所述在接收发送端发送的预设指令时,确定由所述预设指令对应的串口物理层电信号触发所述接收端的多次GPIO中断的中断时间和中断类型,包括:在接收发送端发送的预设指令时,接收端通过多次GPIO中断检测到所述预设指令对应的串口物理层电信号由于所述发送端发送的预设指令而跳变时,记录当前系统时间为中断时间以及记录当前的中断类型;按照上述记录中断时间以及中断类型的方式依次记录其它的中断时间和对应的中断类型,直到完成所述预设指令的接收。在一实施例中,在所述接收端通过多次GPIO中断检测到所述预设指令对应的串口物理层电信号由于所述发送端发送的预设指令而跳变时,记录当前系统时间为中断时间以及记录当前的中断类型之后,还包括:当记录中断时间的第一中断时间和第二中断时间之后,根据所述第一中断时间和所述第二中断时间的差值,确定所述发送端发送一个码元的码元长度;根据所述预设指令中数据帧的预设起始位位数、预设最大数据位位数、预设校验位位数、预设最大停止位位数以及确定的所述码元长度,确定定时时间,并以所述定时时间启动定时器;所述按照上述记录中断时间以及中断类型的方式依次记录其它的中断时间和对应的中断类型,直到完成所述预设指令的接收,包括:按照上述记录中断时间以及中断类型的方式依次记录其它的中断时间和对应的中断类型,直到所述定时器超时完成所述预设指令的接收。在一实施例中,所述根据所述预设指令中数据帧的预设起始位位数、预设最大数据位位数、预设校验位位数、预设最大停止位位数以及确定的所述码元长度,确定定时时间,包括:根据T0=2*Td*(Ta+Tb+Tc+Te)-1确定定时时间;其中,T0表示定时时间,Td表示所述发送端发送一个码元的长度,Ta表示预设起始位位数,Tb表示预设最大数据位位数,Tc表示预设校验位位数,Te表示预设最大停止位位数。在一实施例中,所述中断时间还包括第三中断时间;所述计算所述发送端发送的所述预设指令中包括的数据帧中的数据位位数,包括:当记录中断时间的第一中断时间和第二中断时间之后,根据所述码元长度,确定所述发送端的波特率;根据所述第二中断时间和对应中断类型、所述第三中断时间和对应中断类型以及所述波特率,计算数据位位数。在一实施例中,所述中断时间中还包括第四中断时间、第五中断时间、第七中断时间和第八中断时间;所述计算所述发送端发送的所述预设指令中包括的数据帧中的数据位至停止位之间逻辑0的个数,并基于所述中断时间、所述中断类型以及所述数据位至所述停止位之间逻辑0的个数确定校验方式以及停止位位数,包括:根据所述第三中断时间、所述波特率以及所述第四中断时间,计算所述第一数据帧中数据位至停止位之间逻辑0的个数;根据所述第七中断时间、所述第八中断时间以及所述波特率,计算所述第二数据帧中数据位至停止位之间逻辑0的个数;当第一数据帧中数据位至停止位之间逻辑0的个数为第一值时,根据所述第四中断时间、所述第五中断时间以及所述波特率计算所述第一数据帧的停止位位数,根据所述第一值、所述第二数据帧中数据位至停止位之间逻辑0的个数、所述第一数据帧的停止位位数以及所需中断时间对应的中断类型,确定所述第一数据帧和所述第二数据帧中的校验方式以及所述第一数据帧的停止位位数;当第一数据帧中数据位至停止位之间逻辑0的个数为第二值时,根据所述第二值、所述第二数据帧中数据位至停止位之间逻辑0的个数以及所需中断时间对应的中断类型,确定所述第一数据帧和所述第二数据帧中的校验方式;同时根据所述第四中断时间、所述第五中断时间以及所述波特率计算所述第一数据帧的停止位位数。在一实施例中,所述根据所述码元长度,确定所述发送端的波特率,包括:根据S=1/Td,确定所述发送端的波特率;其中,S表示所述发送端的波特率;所述根据所述第二中断时间和对应中断类型、所述第三中断时间和对应中断类型以及所述波特率,计算数据位位数,包括:根据N数=(T3-T2)*S+1,计算数据位位数;其中,N数表示数据位位数,T3表示所述第三中断时间;所述计算所述第一数据帧的停止位位数,包括:根据STN1=(T5-T4)/Td,计算所述第一数据帧的停止位位数;其中,STN1表示所述第一数据帧的停止位位数,T5表示第五中断时间,T4表示第四中断时间。本专利技术实施例的第二方面提供了一种串口通讯参数调整的装置,包括:确定模块,用于在接收发送端发送的预设指令时,确定由所述预设指令对应的串口物理层电信号触发所述接收端的多次GPIO中断的中断时间和中断类型;处理模块,用于根据本文档来自技高网...

【技术保护点】
1.一种串口通讯参数调整的方法,其特征在于,包括:/n在接收发送端发送的预设指令时,确定由所述预设指令对应的串口物理层电信号触发所述接收端的多次通用输入/输出口GPIO中断的中断时间和中断类型;/n根据所述中断时间和所述中断类型,分别计算所述发送端发送的所述预设指令中包括的数据帧中的数据位位数以及数据位至停止位之间逻辑0的个数,并基于所述中断时间、所述中断类型以及所述数据位至所述停止位之间逻辑0的个数确定校验方式以及停止位位数;根据所述数据位位数、所述校验方式以及所述停止位位数确定所述发送端的通讯参数;/n根据所述发送端的通讯参数,设置接收端的通讯参数,使所述发送端的通讯参数与所述接收端的通讯参数一致。/n

【技术特征摘要】
1.一种串口通讯参数调整的方法,其特征在于,包括:
在接收发送端发送的预设指令时,确定由所述预设指令对应的串口物理层电信号触发所述接收端的多次通用输入/输出口GPIO中断的中断时间和中断类型;
根据所述中断时间和所述中断类型,分别计算所述发送端发送的所述预设指令中包括的数据帧中的数据位位数以及数据位至停止位之间逻辑0的个数,并基于所述中断时间、所述中断类型以及所述数据位至所述停止位之间逻辑0的个数确定校验方式以及停止位位数;根据所述数据位位数、所述校验方式以及所述停止位位数确定所述发送端的通讯参数;
根据所述发送端的通讯参数,设置接收端的通讯参数,使所述发送端的通讯参数与所述接收端的通讯参数一致。


2.如权利要求1所述的串口通讯参数调整的方法,其特征在于,所述预设指令包括连续的两个数据帧,所述两个数据帧为采用相同的协议格式传输的数据帧;其中第一数据帧中的数据位的最后一位为第一预设值,其余数据位为第二预设值,第二数据帧的中的数据位的最后两位为所述第一预设值,其余数据位为所述第二预设值。


3.如权利要求2所述的串口通讯参数调整的方法,其特征在于,所述在接收发送端发送的预设指令时,确定由所述预设指令对应的串口物理层电信号触发所述接收端的多次GPIO中断的中断时间和中断类型,包括:
在接收发送端发送的预设指令时,接收端通过多次GPIO中断检测到所述预设指令对应的串口物理层电信号由于所述发送端发送的预设指令而跳变时,记录当前系统时间为中断时间以及记录当前的中断类型;
按照上述记录中断时间以及中断类型的方式依次记录其它的中断时间和对应的中断类型,直到完成所述预设指令的接收。


4.如权利要求3所述的串口通讯参数调整的方法,其特征在于,在所述接收端通过多次GPIO中断检测到所述预设指令对应的串口物理层电信号由于所述发送端发送的预设指令而跳变时,记录当前系统时间为中断时间以及记录当前的中断类型之后,还包括:
当记录中断时间的第一中断时间和第二中断时间之后,根据所述第一中断时间和所述第二中断时间的差值,确定所述发送端发送一个码元的码元长度;
根据所述预设指令中数据帧的预设起始位位数、预设最大数据位位数、预设校验位位数、预设最大停止位位数以及确定的所述码元长度,确定定时时间,并以所述定时时间启动定时器;
所述按照上述记录中断时间以及中断类型的方式依次记录其它的中断时间和对应的中断类型,直到完成所述预设指令的接收,包括:
按照上述记录中断时间以及中断类型的方式依次记录其它的中断时间和对应的中断类型,直到所述定时器超时完成所述预设指令的接收。


5.如权利要求4所述的串口通讯参数调整的方法,其特征在于,所述根据所述预设指令中数据帧的预设起始位位数、预设最大数据位位数、预设校验位位数、预设最大停止位位数以及确定的所述码元长度,确定定时时间,包括:
根据T0=2*Td*(Ta+Tb+Tc+Te)-1确定定时时间;
其中,T0表示定时时间,Td表示所述发送端发送一个码元的长度,Ta表示预设起始位位数,Tb表示预设最大数据位位数,Tc表示预设校验位位数,Te表示预设最大停止位位数。


6.如权利要求4所述的串口通讯参数调整的方法,其特征在于,所述中断时间还包括第三中断时间;所述计算所述发送端发送的所述预设指令中包括的数据帧中的数据位位数,包括:
当记录中断时间的...

【专利技术属性】
技术研发人员:汤增宏
申请(专利权)人:百富计算机技术深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1