本发明涉及通信,具体涉及一种波特率确定方法、非易失性可读存储介质及电子设备。
背景技术:
1、主机与从机按照固定波特率进行串口通信,主机的芯片出现异常时,容易导致主机与从机的波特率出现变化,从而出现通信异常现象。
2、现有技术能够在通信异常时自适应地调节波特率,其中,现有技术是按照通信协议,从通信数据中提取出数据包头,对数据包头进行检测以得到波特率。此种方式受制于通信协议,在一些通信场景下,主机与从机通信并不遵循相应通信协议,因此,此种方式的自适应性较差,不容易满足在各类通信场景能够自适应调节波特率。
技术实现思路
1、本发明实施例的一个目的旨在提供一种波特率确定方法、非易失性可读存储介质及电子设备,旨在解决现有技术在调节波特率方面上的自适应能力较差的技术问题。
2、在第一方面,本发明实施例提供一种波特率确定方法,包括:
3、获取主机发送的通信数据及所述通信数据出现预设次数的指定边沿信号时的传输时间,所述通信数据包括至少一个比特的数据,所述预设次数为大于或等于2的整数;
4、将所述传输时间分类至匹配所述传输时间的时间数组;
5、在多个所述时间数组中确定满足数组筛选条件的时间数组为目标时间数组;
6、根据所述目标时间数组包含的至少一个传输时间确定波特率。
7、可选地,所述获取所述通信数据出现预设次数的指定边沿信号时的传输时间包括:
8、确定所述通信数据第1次出现指定边沿信号的第一时间;
9、确定所述通信数据第n次出现指定边沿信号的第二时间,所述n等于预设次数;
10、计算所述第二时间与所述第一时间的差值,得到传输时间。
11、可选地,所述n为2。
12、可选地,所述指定边沿信号为上升沿信号。
13、可选地,每个所述时间数组都配置有预设的时间范围,所述将所述传输时间分类至匹配所述传输时间的时间数组包括:
14、遍历各所述时间数组,以确定所述传输时间落入的时间范围为参考时间范围;
15、将所述传输时间分类至与所述参考时间范围对应的时间数组。
16、可选地,各所述时间数组都配置有优先级,所述在多个所述时间数组中确定满足数组筛选条件的时间数组为目标时间数组包括:在多个所述时间数组中确定优先级为最高优先级的时间数组为目标时间数组。
17、可选地,每个所述时间数组用于收集指定比特的数据的传输时间;
18、当所述时间数组收集的数据的指定比特越小,所述时间数组的优先级越高,当所述时间数组收集的数据的指定比特越大,所述时间数组的优先级越低。
19、可选地,所述在多个所述时间数组中确定优先级为最高优先级的时间数组为目标时间数组包括:
20、判断最高优先级的时间数组是否是空数组,所述空数组为时间数组不包含传输时间;
21、若是,则降低所述最高优先级的时间数组的优先级,在多个所述时间数组中重新确定优先级为最高优先级的时间数组为目标时间数组;
22、若不是,则确定所述最高优先级的时间数组为目标时间数组。
23、可选地,所述根据所述目标时间数组包含的至少一个传输时间确定波特率包括:
24、在所述目标时间数组的至少一个传输时间中选择满足中值条件的传输时间为目标传输时间;
25、确定与所述目标时间数组对应的指定比特;
26、根据所述指定比特及所述目标传输时间确定波特率。
27、可选地,在确定目标时间数组之前,所述方法还包括:
28、确定所述通信数据第i次出现指定边沿信号的时间为起始时间及当前时间,i为大于0的整数;
29、计算所述当前时间与所述起始时间的时间间隔;
30、判断所述通信数据是否出现第i+1次的指定边沿信号;
31、若不出现,则判断所述时间间隔是否大于预设时间阈值,若大于,则进入在多个所述时间数组中确定满足数组筛选条件的时间数组为目标时间数组的步骤,若小于,则返回判断所述通信数据是否出现第i+1次的指定边沿信号的步骤;
32、若出现,赋值i=i+1,返回确定所述通信数据第i次出现指定边沿信号的时间为起始时间的步骤。
33、可选地,所述方法还包括:
34、基于所述波特率向所述主机发送串行数据,以使所述主机返回通信反馈信息;
35、若所述通信反馈信息为通信成功信息,则基于所述波特率与所述主机进行通信;
36、若所述通信反馈信息为通信失败信息,则继续确定波特率。
37、在第二方面,本发明实施例提供一种非易失性可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于使电子设备执行上述的波特率确定方法。
38、在第三方面,本发明实施例提供一种电子设备,包括:
39、至少一个处理器;以及,
40、与所述至少一个处理器通信连接的存储器;其中,
41、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的波特率确定方法。
42、在本发明实施例提供的波特率确定方法中,首先,本实施例获取主机发送的通信数据及通信数据出现预设次数的指定边沿信号时的传输时间,通信数据包括至少一个比特的数据,预设次数为大于或等于2的整数,本实施例以预设次数的指定边沿信号为采样标准,能够有效地截取出完整的至少一个比特数据对应的传输时间,为后续能够利用传输时间和完整的至少一个比特数据推导出波特率奠定基础。接着,本实施例将传输时间分类至匹配传输时间的时间数组,此举有利于将一个或两个以上的传输时间分类至同一时间数组。再接着,本实施例在多个时间数组中确定满足数组筛选条件的时间数组为目标时间数组,根据目标时间数组包含的至少一个传输时间确定波特率,本实施例能够利用目标时间数组包含的至少一个传输时间综合地确定波特率,如此得到的波特率较为可靠和准确。另外,本实施例在上述确定波特率的过程中并不需要检测数据包头,便能够自适应地确定波特率,因此,本实施例能够在各类通信协议场景下自适应地确定波特率,具有较高的自适应能力。
1.一种波特率确定方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述获取所述通信数据出现预设次数的指定边沿信号时的传输时间包括:
3.根据权利要求2所述的方法,其特征在于,所述n为2。
4.根据权利要求1所述的方法,其特征在于,所述指定边沿信号为上升沿信号。
5.根据权利要求1所述的方法,其特征在于,每个所述时间数组都配置有预设的时间范围,所述将所述传输时间分类至匹配所述传输时间的时间数组包括:
6.根据权利要求1所述的方法,其特征在于,各所述时间数组都配置有优先级,所述在多个所述时间数组中确定满足数组筛选条件的时间数组为目标时间数组包括:在多个所述时间数组中确定优先级为最高优先级的时间数组为目标时间数组。
7.根据权利要求6所述的方法,其特征在于,
8.根据权利要求6所述的方法,其特征在于,所述在多个所述时间数组中确定优先级为最高优先级的时间数组为目标时间数组包括:
9.根据权利要求1所述的方法,其特征在于,所述根据所述目标时间数组包含的至少一个传输时间确定波特率包括:
10.根据权利要求1所述的方法,其特征在于,在确定目标时间数组之前,还包括:
11.根据权利要求1至10任一项所述的方法,其特征在于,还包括:
12.一种非易失性可读存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令用于使电子设备执行如权利要求1至11任一项所述的波特率确定方法。
13.一种电子设备,其特征在于,包括: