CN116541323A - 一种串口通信波特率的调整方法、装置及电子设备 - Google Patents
一种串口通信波特率的调整方法、装置及电子设备 Download PDFInfo
- Publication number
- CN116541323A CN116541323A CN202310302590.2A CN202310302590A CN116541323A CN 116541323 A CN116541323 A CN 116541323A CN 202310302590 A CN202310302590 A CN 202310302590A CN 116541323 A CN116541323 A CN 116541323A
- Authority
- CN
- China
- Prior art keywords
- baud rate
- adjustment
- nth
- communication
- initial
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 247
- 238000000034 method Methods 0.000 title claims abstract description 58
- 230000004044 response Effects 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 6
- 239000003999 initiator Substances 0.000 claims description 5
- 239000004973 liquid crystal related substance Substances 0.000 claims description 4
- 230000001186 cumulative effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0002—Serial port, e.g. RS232C
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
Abstract
本申请提供了一种串口通信波特率的调整方法、装置及电子设备,该方法包括:获取初始波特率,基于初始波特率向通信接收方发送通信数据;确定通信接收方未对通信数据进行应答,基于预设调整量对初始波特率进行第N次调整,得到第N次调整后的波特率,其中,N的取值为大于或等于0的整数;按照第N次调整后的波特率向通信接收方发送通信数据,直至确定通信接收方对通信数据进行应答,将第N次调整后的波特率确定为目标波特率。本申请可以通过动态调整初始波特率以获取目标波特率,并在无外部精准时钟的情况下,基于目标波特率使通信发送方和通信接收方进行稳定的串口通信。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种串口通信波特率的调整方法、装置及电子设备。
背景技术
针对串口通信而言,在芯片引脚已用完,无法提供多余引脚接外部时钟的情况或者由于成本和空间限制不使用外部时钟,只能使用芯片内部的阻容正弦波振荡器提供系统时钟,然而阻容正弦波振荡器时钟精度无法满足串口通信对时钟精度的要求,由此,如何通过准确、可靠的方法对串口通信的波特率进行调整,进而确保正常的串口通信,已成为了亟待解决的问题。
发明内容
本申请提供了一种串口通信波特率的调整方法、装置及电子设备,用于通过准确、可靠的方法对串口通信的波特率进行调整,进而确保正常的串口通信。
根据本申请的第一方面,提供了一种串口通信波特率的调整方法,包括:获取初始波特率,基于所述初始波特率向通信接收方发送通信数据;确定所述通信接收方未对所述通信数据进行应答,基于预设调整量对所述初始波特率进行第N次调整,得到第N次调整后的波特率,其中,所述N的取值为大于或等于0的整数;按照所述第N次调整后的波特率向所述通信接收方发送所述通信数据,直至确定所述通信接收方对所述通信数据进行应答,将所述第N次调整后的波特率确定为目标波特率。
另外,根据本申请上述实施例的一种串口通信波特率的调整方法,还可以具有如下附加的技术特征:
根据本申请的一个实施例,所述方法,还包括:确定所述通信接收方对所述通信数据进行应答,无需对所述初始波特率进行调整,直接将所述初始波特率作为目标波特率。
根据本申请的一个实施例,所述基于预设调整量对所述初始波特率进行第N次调整,得到第N次调整后的波特率,包括:获取所述第N次的调整方向,基于所述预设调整量和所述调整方向对所述初始波特率进行第N次调整,得到所述第N次调整后的波特率,其中,所述第N次的调整方向为向上调整或向下调整,且所述第N次的调整方向与第N+1次的调整方向不相同。
根据本申请的一个实施例,所述方法,还包括:获取所述第N次的调整方向,其中,所述第N次的调整方向为向上调整或向下调整,且所述第N次的调整方向与第N+1次的调整方向不相同;基于所述预设调整量和所述调整方向对所述初始波特率进行第N次调整,得到所述第N次调整后的波特率。
根据本申请的一个实施例,所述方法,还包括:获取所述初始波特率的预设调整范围;获取对所述初始波特率经过N次调整的累计调整量,判断所述累计调整量是否在所述预设调整范围内,其中所述累计调整量包括向上累计调整量和向下累计调整量。
根据本申请的一个实施例,所述方法,还包括:响应于所述累计调整量在所述预设调整范围内,基于所述预设调整量和所述调整方向对所述初始波特率进行第N次调整;或者,响应于所述累计调整量未在所述预设调整范围内,将所述第N次调整后的波特率重新恢复为所述初始波特率,重新执行基于所述初始波特率向通信接收方发送通信数据及后续步骤。
根据本申请的一个实施例,所述获取所述初始波特率的预设调整范围,包括:获取阻容正弦波振荡器的输出时钟频率的变化范围,基于所述变化范围确定所述初始波特率的预设调整范围。
根据本申请的一个实施例,所述将所述第N次调整后的波特率确定为目标波特率之后,还包括:响应于基于所述目标波特率向通信接收方发送通信数据的环境温度发生变化,并确定所述通信接收方未对所述通信数据进行应答,则重新执行基于所述调整量对所述初始波特率进行第N次调整及后续步骤,以更新所述目标波特率。
根据本申请的第二方面,提供了一种串口通信波特率的调整装置,包括:获取模块,用于获取初始波特率,基于所述初始波特率向通信接收方发送通信数据;调整模块,用于确定所述通信接收方未对所述通信数据进行应答,基于预设调整量对所述初始波特率进行第N次调整,得到第N次调整后的波特率,其中,所述N的取值为大于或等于0的整数;确定模块,用于按照所述第N次调整后的波特率向所述通信接收方发送所述通信数据,直至确定所述通信接收方对所述通信数据进行应答,将所述第N次调整后的波特率确定为目标波特率。
另外,根据本申请上述实施例的一种串口通信波特率的调整装置,还可以具有如下附加的技术特征:
根据本申请的一个实施例,所述装置,还用于:确定所述通信接收方对所述通信数据进行应答,无需对所述初始波特率进行调整,直接将所述初始波特率作为目标波特率。
根据本申请的一个实施例,所述调整模块,还用于:获取所述第N次的调整方向,基于所述预设调整量和所述调整方向对所述初始波特率进行第N次调整,得到所述第N次调整后的波特率,其中,所述第N次的调整方向为向上调整或向下调整,且所述第N次的调整方向与第N+1次的调整方向不相同。
根据本申请的一个实施例,所述调整模块,还用于:获取所述第N次的调整方向,其中,所述第N次的调整方向为向上调整或向下调整,且所述第N次的调整方向与第N+1次的调整方向不相同;基于所述预设调整量和所述调整方向对所述初始波特率进行第N次调整,得到所述第N次调整后的波特率。
根据本申请的一个实施例,所述装置,还用于:获取所述初始波特率的预设调整范围;获取对所述初始波特率经过N次调整的累计调整量,判断所述累计调整量是否在所述预设调整范围内,其中所述累计调整量包括向上累计调整量和向下累计调整量。
根据本申请的一个实施例,所述装置,还用于:响应于所述累计调整量在所述预设调整范围内,基于所述预设调整量和所述调整方向对所述初始波特率进行第N次调整;或者,响应于所述累计调整量未在所述预设调整范围内,将所述第N次调整后的波特率重新恢复为所述初始波特率,重新执行基于所述初始波特率向通信接收方发送通信数据及后续步骤。
根据本申请的一个实施例,所述装置,还用于:获取阻容正弦波振荡器的输出时钟频率的变化范围,基于所述变化范围确定所述初始波特率的预设调整范围。
根据本申请的一个实施例,所述装置,还用于:响应于基于所述目标波特率向通信接收方发送通信数据的环境温度发生变化,并确定所述通信接收方未对所述通信数据进行应答,则重新执行基于所述调整量对所述初始波特率进行第N次调整及后续步骤,以更新所述目标波特率。
为了实现上述目的,本申请第三方面实施例提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现前述的串口通信波特率的调整方法。
为了实现上述目的,本申请第四方面实施例提出了非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的串口通信波特率的调整方法。
为了实现上述目的,本申请第五方面实施例提出了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时,实现如上所述的串口通信波特率的调整方法。
本申请实施例提供的技术方案至少包括如下有益效果:
本申请提供了一种串口通信波特率的调整方法,通过获取初始波特率,基于初始波特率向通信接收方发送通信数据,确定通信接收方未对通信数据进行应答,基于预设调整量对初始波特率进行第N次调整,得到第N次调整后的波特率,按照第N次调整后的波特率向通信接收方发送通信数据,直至确定通信接收方对通信数据进行应答,将第N次调整后的波特率确定为目标波特率。本申请可以通过动态调整初始波特率以获取目标波特率,并在无外部精准时钟的情况下,基于目标波特率使通信发送方和通信接收方进行稳定的串口通信。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1为本申请实施例提供的一种串口通信波特率的调整方法的流程示意图;
图2为本申请实施例提供的一种串口通信的示意图;
图3为本申请实施例提供的另一种串口通信波特率的调整方法的流程示意图;
图4为本申请实施例提供的另一种串口通信波特率的调整方法的流程示意图;
图5为本申请实施例提供的一种串口通信波特率的调整方法的流程示意图;
图6为本申请实施例提供的一种串口通信波特率的调整装置的结构示意图;
图7为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
下面采用实施例对本申请的串口通信波特率的调整方法、装置及电子设备进行详细说明。
图1为本申请实施例提供的一种串口通信波特率的调整方法的流程示意图。
如图1所示,本实施例提出的串口通信波特率的调整方法,由通信发起方执行,包括以下步骤:
S101、获取初始波特率,基于初始波特率向通信接收方发送通信数据。
其中,串口通信指的是串行接口(Serial Interface,简称串口)按位(bit)发送和接收字节的通信方式。
其中,比特率的是一个衡量通信速度的参数,表示每秒钟传送的bit的个数。
可选地,在通信发起方和通信接收方进行通信之前,可以预先设置初始波特率。
举例而言,可以设置初始波特率为300bps、600bps、1200bps、2400bps、4800bps、9600bps、19200bps、38400bps、43000bps、56000bps、57600bps、115200bps等。
需要说明的是,在确保硬件连接无误的情况下,在获取到初始波特率,可以基于初始波特率向通信接收方发送通信数据。
S102、确定通信接收方未对通信数据进行应答,基于预设调整量对初始波特率进行第N次调整,得到第N次调整后的波特率,其中,N的取值为大于或等于0的整数。
在本申请实施例中,确定通信接收方对所述通信数据进行应答,则无需对初始波特率进行调整,直接将初始波特率作为目标波特率。
需要说明的是,在基于预设调整量对初始波特率进行第N次调整时,需要在预设调整范围内进行调整。
需要说明的是,波特率是对信号传输速率的一种度量,在通信数据传输过程中需要对通信发送方和通信接收方的波特率进行同步。
需要说明的是,串口为异步串行通信,要求通信发送方和通信接收方的设备都有精准的时钟源来产生波特率,一般要求设备的时钟误差小于2%。
举例而言,如图2所示,为串口通讯采样的时序,根据串口的采样特点,在最后一个位采样时,允许极限偏移为50%,假设:用1个起始位、8个数据位、1个校验位、2个停止位来计算,则每位偏差最高为±4.16%,即±50%/12=±4.16%,串口通信涉及到通信接收方和通信发送方(两端),当一端为0误差,另一端最大误差可到4.16%,如果两端误差相同,每端的最大误差就为2.08%,即±4.16%/2=±2.08%,因此,针对串口通信,在当时钟误差不大于±2%时,通信比较可靠。
可选地,可以设置预设调整量为2%。
在本申请实施例中,在确定通信接收方未对通信数据进行应答后,可以基于预设调整量对初始波特率进行调整,得到第N次调整后的波特率。
举例而言,假设初始波特率为9600bps,可以基于预设调整量(2%)对初始波特率按照向上调整方向进行调整,即9600×(1+2%)=9792bps,则经过第一次调整后的波特率为9792bps;还可以基于预设调整量(2%)对初始波特率按照向下调整方向进行调整,即9600×(1-2%)=9408bps,则经过第一次调整后的波特率为9408bps。
S103、按照第N次调整后的波特率向通信接收方发送通信数据,直至确定通信接收方对通信数据进行应答,将第N次调整后的波特率确定为目标波特率。
举例而言,初始波特率为9600bps,第1次调整后的波特率为9792bps,基于第1次调整后的波特率9792bps向通信接收方发送通信数据,在确定通信接收方对通信数据进行应答后,将第1次调整后的波特率确定为目标波特率,在确定通信接收方未对通信数据进行应答后,则返回上述步骤继续对初始波特率进行调整。
在本申请实施例中,在获取到目标波特率后,响应于基于目标波特率向通信接收方发送通信数据的环境温度发生变化,并确定通信接收方未对通信数据进行应答,则重新执行基于调整量对初始波特率进行第N次调整及后续步骤,以更新目标波特率。
本申请提供了一种串口通信波特率的调整方法,通过获取初始波特率,基于初始波特率向通信接收方发送通信数据,确定通信接收方未对通信数据进行应答,基于预设调整量对初始波特率进行第N次调整,得到第N次调整后的波特率,按照第N次调整后的波特率向通信接收方发送通信数据,直至确定通信接收方对通信数据进行应答,将第N次调整后的波特率确定为目标波特率。本申请可以通过动态调整初始波特率以获取目标波特率,并在无外部精准时钟的情况下,基于目标波特率使通信发送方和通信接收方进行稳定的串口通信。
需要说明的是,本申请实施例中,在试图得到第N次调整后的波特率时,可以基于预设调整量和调整方向对初始波特率进行第N次调整,得到第N次调整后的波特率。
作为一种可能实现的方式,如图3所示,在上述实施例的基础上,上述步骤S102中基于预设调整量对初始波特率进行第N次调整,得到第N次调整后的波特率的具体过程,包括以下步骤:
S301、获取第N次的调整方向,其中,第N次的调整方向为向上调整或向下调整,且第N次的调整方向与第N+1次的调整方向不相同。
举例而言,当第N次的调整方向为向上调整时,则第N+1次的调整方向为向下调整;当第N次的调整方向为向下调整时,则第N+1次的调整方向为向上调整。
S302、基于预设调整量和调整方向对初始波特率进行第N次调整,得到第N次调整后的波特率。
在本申请实施例中,在获取到第N次的调整方向后,可以基于预设调整量和调整方向对初始波特率进行第N次调整,得到第N次调整后的波特率。
举例而言,假设初始波特率为9600bps,第一次的调整方向为向上调整,则经过第一次调整后的波特率为9792bps,即9600×(1+2%)=9792bps;假设初始波特率为9600bps,第一次的调整方向为向下调整,则经过第一次调整后的波特率为9408bps,即9600×(1-2%)=9408bps。
进一步地,基于预设调整量和所述调整方向对初始波特率进行第N次调整时,还需判断累计调整量是否在预设调整范围内。
作为一种可能实现的方式,如图4所示,在上述实施例的基础上,判断累计调整量是否在预设调整范围内的具体过程,包括以下步骤:
S401、获取初始波特率的预设调整范围。
需要说明的是,本申请对于获取初始波特率的预设调整范围的具体方式不作限定,可以根据实际情况进行选取。
可选地,可以获取阻容正弦波振荡器的输出时钟频率的变化范围,基于变化范围确定初始波特率的预设调整范围。
其中,阻容正弦波振荡器即RC正弦波振荡器,输出波型为正弦波。
需要说明的是,由阻容正弦波振荡器的输出时钟频率公式可知,阻容正弦波振荡器的输出时钟频率会随温度变化而发生改变,假设基于初始波特率向通信接收方发送通信数据的最高温度为85℃、最低温度为-40℃,阻容正弦波振荡器标称输出频率为4MHz,获取在最高温度85℃以及最低温度-40℃范围内阻容正弦波振荡器不同的输出时钟频率,进而获取阻容正弦波振荡器的输出时钟频率的变化范围,得到阻容正弦波振荡器的输出时钟频率的变化范围为±50%,则确定初始波特率的预设调整范围为±50%。
S402、获取对初始波特率经过N次调整的累计调整量,判断累计调整量是否在所述预设调整范围内,其中所述累计调整量包括向上累计调整量和向下累计调整量。
需要说明的是,对初始波特率经过1次向上调整的向上调整量为﹢2%,经过N次调整的向上累计调整量即为N个2%,对初始波特率经过1次向下调整的向下调整量为﹣2%,经过N次调整的向下累计调整量即为N个-2%。
可选地,响应于累计调整量在预设调整范围内,基于预设调整量和调整方向对初始波特率进行第N次调整。
可选地,响应于累计调整量未在预设调整范围内,将第N次调整后的波特率重新恢复为初始波特率,重新执行基于初始波特率向通信接收方发送通信数据及后续步骤。
下面对本申请实施例提出的串口通信波特率的调整方法的具体过程进行解释说明。
举例而言,如图5所示,在保证硬件连接无误的情况下,初始化UART,预设初始波特率,并通过应用层通信处理逻辑,通信发起方基于初始波特率向通信接收方发送通信数据,判断通信接收方是否对通信数据进行应答,如果通信接收方对通信数据进行应答,直接将初始波特率作为目标波特率,重新返回应用层通信处理逻辑,如果通信接收方未对通信数据进行应答,可以判断当前调整次数是否为第一次或者上次调整方向是否为向下调整,如果不满足上述条件,则将初始波特率向下调整2%进行尝试,按照调整后的波特率向通信接收方发送通信数据,再次判断通信接收方是否对通信数据进行应答,直至确定通信接收方对通信数据进行应答,如果满足上述条件,则将初始波特率向上调整2%进行尝试,按照调整后的波特率向通信接收方发送通信数据,再次判断通信接收方是否对通信数据进行应答,直至确定通信接收方对通信数据进行应答,如果串口通信过程中再次出现无应答的情况,则重复动态调整的步骤。其中,获取对初始波特率经过N次调整的累计调整量,判断累计调整量是否在预设调整范围内,当累计调整量在预设调整范围内,基于预设调整量和调整方向对初始波特率进行第N次调整,当累计调整量未在预设调整范围内时,将第N次调整后的波特率重新恢复即重置为初始波特率,重新执行基于初始波特率向通信接收方发送通信数据及后续步骤。
可选地,本申请实施例提出的串口通信波特率的调整方法,可以应用于通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,简称UART)通信,包括晶体管-晶体管逻辑集成电路(Transistor-Transistor Logic,简称TTL)、RS232、RS485和RS422等不同电平的接口。
综上所述,本申请提供的串口通信波特率的调整方法,可以通过动态调整初始波特率以获取目标波特率,保证了目标波特率的精度,并在无外部精准时钟的情况下,基于目标波特率使通信发送方和通信接收方进行稳定的串口通信,适用于所有使用串口通信的场合。
为了实现上述实施例,本实施例提供了一种串口通信波特率的调整装置,图6为本申请实施例提供的一种串口通信波特率的调整装置的结构示意图。
如图6所示,该串口通信波特率的调整装置1000,包括:获取模块110、调整模块120和确定模块130。其中,
获取模块110,用于获取初始波特率,基于所述初始波特率向通信接收方发送通信数据;
调整模块120,用于确定所述通信接收方未对所述通信数据进行应答,基于预设调整量对所述初始波特率进行第N次调整,得到第N次调整后的波特率,其中,所述N的取值为大于或等于0的整数;
确定模块130,用于按照所述第N次调整后的波特率向所述通信接收方发送所述通信数据,直至确定所述通信接收方对所述通信数据进行应答,将所述第N次调整后的波特率确定为目标波特率。
根据本申请的一个实施例,装置1000,还用于:确定所述通信接收方对所述通信数据进行应答,无需对所述初始波特率进行调整,直接将所述初始波特率作为目标波特率。
根据本申请的一个实施例,调整模块120,还用于:获取所述第N次的调整方向,基于所述预设调整量和所述调整方向对所述初始波特率进行第N次调整,得到所述第N次调整后的波特率,其中,所述第N次的调整方向为向上调整或向下调整,且所述第N次的调整方向与第N+1次的调整方向不相同。
根据本申请的一个实施例,调整模块120,还用于:获取所述第N次的调整方向,其中,所述第N次的调整方向为向上调整或向下调整,且所述第N次的调整方向与第N+1次的调整方向不相同;基于所述预设调整量和所述调整方向对所述初始波特率进行第N次调整,得到所述第N次调整后的波特率。
根据本申请的一个实施例,装置1000,还用于:获取所述初始波特率的预设调整范围;获取对所述初始波特率经过N次调整的累计调整量,判断所述累计调整量是否在所述预设调整范围内,其中所述累计调整量包括向上累计调整量和向下累计调整量。
根据本申请的一个实施例,装置1000,还用于:响应于所述累计调整量在所述预设调整范围内,基于所述预设调整量和所述调整方向对所述初始波特率进行第N次调整;或者,响应于所述累计调整量未在所述预设调整范围内,将所述第N次调整后的波特率重新恢复为所述初始波特率,重新执行基于所述初始波特率向通信接收方发送通信数据及后续步骤。
根据本申请的一个实施例,装置1000,还用于:获取阻容正弦波振荡器的输出时钟频率的变化范围,基于所述变化范围确定所述初始波特率的预设调整范围。
根据本申请的一个实施例,装置1000,还用于:响应于基于所述目标波特率向通信接收方发送通信数据的环境温度发生变化,并确定所述通信接收方未对所述通信数据进行应答,则重新执行基于所述调整量对所述初始波特率进行第N次调整及后续步骤,以更新所述目标波特率。
根据本申请提出的串口通信波特率的调整装置,通过获取初始波特率,基于初始波特率向通信接收方发送通信数据,确定通信接收方未对通信数据进行应答,基于预设调整量对初始波特率进行第N次调整,得到第N次调整后的波特率,按照第N次调整后的波特率向通信接收方发送通信数据,直至确定通信接收方对通信数据进行应答,将第N次调整后的波特率确定为目标波特率。本申请可以通过动态调整初始波特率以获取目标波特率,并在无外部精准时钟的情况下,基于目标波特率使通信发送方和通信接收方进行稳定的串口通信。
为了实现上述实施例,本申请还提出了一种电子设备2000,如图7所示,包括存储器210、处理器220及存储在存储器210上并可在处理器220上运行的计算机程序,处理器执行程序时,实现前述的串口通信波特率的调整方法。
为了实现上述实施例,本申请还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的串口通信波特率的调整方法。
为了实现上述实施例,本申请还提出一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时,实现如上所述的串口通信波特率的调整方法。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (17)
1.一种串口通信波特率的调整方法,其特征在于,由通信发起方执行,所述方法,包括:
获取初始波特率,基于所述初始波特率向通信接收方发送通信数据;
确定所述通信接收方未对所述通信数据进行应答,基于预设调整量对所述初始波特率进行第N次调整,得到第N次调整后的波特率,其中,所述N的取值为大于或等于0的整数;
按照所述第N次调整后的波特率向所述通信接收方发送所述通信数据,直至确定所述通信接收方对所述通信数据进行应答,将所述第N次调整后的波特率确定为目标波特率。
2.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
确定所述通信接收方对所述通信数据进行应答,无需对所述初始波特率进行调整,直接将所述初始波特率作为目标波特率。
3.根据权利要求1所述的方法,其特征在于,所述基于预设调整量对所述初始波特率进行第N次调整,得到第N次调整后的波特率,包括:
获取所述第N次的调整方向,基于所述预设调整量和所述调整方向对所述初始波特率进行第N次调整,得到所述第N次调整后的波特率,其中,所述第N次的调整方向为向上调整或向下调整,且所述第N次的调整方向与第N+1次的调整方向不相同。
4.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
获取所述初始波特率的预设调整范围;
获取对所述初始波特率经过N次调整的累计调整量,判断所述累计调整量是否在所述预设调整范围内,其中所述累计调整量包括向上累计调整量和向下累计调整量。
5.根据权利要求4所述的方法,其特征在于,所述方法,还包括:
响应于所述累计调整量在所述预设调整范围内,基于所述预设调整量对所述初始波特率进行第N次调整;或者,
响应于所述累计调整量未在所述预设调整范围内,将所述第N次调整后的波特率重新恢复为所述初始波特率,重新执行基于所述初始波特率向通信接收方发送通信数据及后续步骤。
6.根据权利要求4所述的方法,其特征在于,所述获取所述初始波特率的预设调整范围,包括:
获取阻容正弦波振荡器的输出时钟频率的变化范围,基于所述变化范围确定所述初始波特率的预设调整范围。
7.根据权利要求1-6中任一项所述的方法,其特征在于,将所述第N次调整后的波特率确定为目标波特率之后,还包括:
响应于基于所述目标波特率向通信接收方发送通信数据的环境温度发生变化,并确定所述通信接收方未对所述通信数据进行应答,则重新执行基于所述调整量对所述初始波特率进行第N次调整及后续步骤,以更新所述目标波特率。
8.一种串口通信波特率的调整装置,其特征在于,由通信发起方执行,包括:
获取模块,用于获取初始波特率,基于所述初始波特率向通信接收方发送通信数据;
调整模块,用于确定所述通信接收方未对所述通信数据进行应答,基于预设调整量对所述初始波特率进行第N次调整,得到第N次调整后的波特率,其中,所述N的取值为大于或等于0的整数;
确定模块,用于按照所述第N次调整后的波特率向所述通信接收方发送所述通信数据,直至确定所述通信接收方对所述通信数据进行应答,将所述第N次调整后的波特率确定为目标波特率。
9.根据权利要求8所述的装置,其特征在于,所述装置,还用于:
确定所述通信接收方对所述通信数据进行应答,无需对所述初始波特率进行调整,直接将所述初始波特率作为目标波特率。
10.根据权利要求8所述的装置,其特征在于,所述调整模块,还用于:
获取所述第N次的调整方向,基于所述预设调整量和所述调整方向对所述初始波特率进行第N次调整,得到所述第N次调整后的波特率,其中,所述第N次的调整方向为向上调整或向下调整,且所述第N次的调整方向与第N+1次的调整方向不相同。
11.根据权利要求8所述的装置,其特征在于,所述调整模块,还用于:
获取所述初始波特率的预设调整范围;
获取对所述初始波特率经过N次调整的累计调整量,判断所述累计调整量是否在所述预设调整范围内,其中所述累计调整量包括向上累计调整量和向下累计调整量。
12.根据权利要求11所述的装置,其特征在于,所述装置,还用于:
响应于所述累计调整量在所述预设调整范围内,基于所述预设调整量和所述调整方向对所述初始波特率进行第N次调整;或者,
响应于所述累计调整量未在所述预设调整范围内,将所述第N次调整后的波特率重新恢复为所述初始波特率,重新执行基于所述初始波特率向通信接收方发送通信数据及后续步骤。
13.根据权利要求11所述的装置,其特征在于,所述装置,还用于:
获取阻容正弦波振荡器的输出时钟频率的变化范围,基于所述变化范围确定所述初始波特率的预设调整范围。
14.根据权利要求8-13中任一项所述的装置,其特征在于,所述装置,还用于:
响应于基于所述目标波特率向通信接收方发送通信数据的环境温度发生变化,并确定所述通信接收方未对所述通信数据进行应答,则重新执行基于所述调整量对所述初始波特率进行第N次调整及后续步骤,以更新所述目标波特率。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一项所述的方法。
17.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310302590.2A CN116541323A (zh) | 2023-03-24 | 2023-03-24 | 一种串口通信波特率的调整方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310302590.2A CN116541323A (zh) | 2023-03-24 | 2023-03-24 | 一种串口通信波特率的调整方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116541323A true CN116541323A (zh) | 2023-08-04 |
Family
ID=87447844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310302590.2A Pending CN116541323A (zh) | 2023-03-24 | 2023-03-24 | 一种串口通信波特率的调整方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116541323A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116760508A (zh) * | 2023-08-18 | 2023-09-15 | 荣耀终端有限公司 | 一种波特率设置方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000049891A (ja) * | 1998-05-27 | 2000-02-18 | Omron Corp | プログラマブルロジックコントロ―ラおよびその通信条件設定方法および通信条件設定装置 |
CN102904688A (zh) * | 2012-10-12 | 2013-01-30 | 北京新雷能科技股份有限公司 | 一种调整波特率的方法和装置 |
JP2014014033A (ja) * | 2012-07-05 | 2014-01-23 | Renesas Electronics Corp | 通信システム、送信装置、及び受信装置 |
CN104113391A (zh) * | 2014-07-10 | 2014-10-22 | 佛山市顺德区美的电热电器制造有限公司 | 波特率调整装置和方法以及烹饪器具 |
CN110581814A (zh) * | 2019-09-06 | 2019-12-17 | 惠州志顺电子实业有限公司 | 通信设备波特率调节方法及通信设备 |
CN112039635A (zh) * | 2020-08-28 | 2020-12-04 | 杭州万高科技股份有限公司 | 一种基于rc振荡器的uart波特率自适应方法、装置 |
CN115776365A (zh) * | 2021-09-07 | 2023-03-10 | 合肥移瑞通信技术有限公司 | 串口波特率的校正方法及系统、通信模块及存储介质 |
-
2023
- 2023-03-24 CN CN202310302590.2A patent/CN116541323A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000049891A (ja) * | 1998-05-27 | 2000-02-18 | Omron Corp | プログラマブルロジックコントロ―ラおよびその通信条件設定方法および通信条件設定装置 |
JP2014014033A (ja) * | 2012-07-05 | 2014-01-23 | Renesas Electronics Corp | 通信システム、送信装置、及び受信装置 |
CN102904688A (zh) * | 2012-10-12 | 2013-01-30 | 北京新雷能科技股份有限公司 | 一种调整波特率的方法和装置 |
CN104113391A (zh) * | 2014-07-10 | 2014-10-22 | 佛山市顺德区美的电热电器制造有限公司 | 波特率调整装置和方法以及烹饪器具 |
CN110581814A (zh) * | 2019-09-06 | 2019-12-17 | 惠州志顺电子实业有限公司 | 通信设备波特率调节方法及通信设备 |
CN112039635A (zh) * | 2020-08-28 | 2020-12-04 | 杭州万高科技股份有限公司 | 一种基于rc振荡器的uart波特率自适应方法、装置 |
CN115776365A (zh) * | 2021-09-07 | 2023-03-10 | 合肥移瑞通信技术有限公司 | 串口波特率的校正方法及系统、通信模块及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116760508A (zh) * | 2023-08-18 | 2023-09-15 | 荣耀终端有限公司 | 一种波特率设置方法及系统 |
CN116760508B (zh) * | 2023-08-18 | 2023-11-07 | 荣耀终端有限公司 | 一种波特率设置方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5770941B2 (ja) | 直列データ伝送が正しく機能しているか検査するための方法及び装置 | |
CN116541323A (zh) | 一种串口通信波特率的调整方法、装置及电子设备 | |
CN101710857A (zh) | 串行通信波特率自适应方法及其装置 | |
CN111177060B (zh) | 串口数据发送方法、接收方法、相应装置及终端设备 | |
CN109075742B (zh) | 波特率校准电路及串口芯片 | |
US7551702B2 (en) | Method and circuit arrangement for synchronizing a function unit with a predetermined clock frequency | |
CN101399635A (zh) | 通讯波特率自适应方法、装置以及主机 | |
CN111314018B (zh) | 波特率自适应调节处理系统及方法、信息数据处理终端 | |
CN103618588A (zh) | 一种自动波特率检测方法及检测模块 | |
CN112039635B (zh) | 一种基于rc振荡器的uart波特率自适应方法、装置 | |
CN115202496A (zh) | 导航系统及其时钟校准方法 | |
CN116760508B (zh) | 一种波特率设置方法及系统 | |
CN103891194A (zh) | 测量值传输设备 | |
CN111949589B (zh) | 一种时钟控制方法、装置、设备及存储介质 | |
EP2398190A1 (en) | Field communication system | |
CN116257483A (zh) | 异步串口通信波特率自适应方法及装置、异步串口设备 | |
CN114710257A (zh) | 频率调整方法、装置及从机 | |
CN115643125A (zh) | 一种can波特率快速匹配的方法和系统 | |
CN114443537A (zh) | 一种pcie信号发送端参数配置方法、装置、设备及介质 | |
CN114265811A (zh) | 基于fpga的数据采样时钟沿自适应系统和方法 | |
CN113868178B (zh) | 一种基于i2c总线的通信方法、系统及存储介质 | |
CN111106890B (zh) | 一种进行时间同步的方法和设备 | |
CN116054987B (zh) | 一种车载设备的校时方法及存储介质 | |
CN109286535B (zh) | 获取存储模块内部延时阶梯时间的方法及系统 | |
CN111400216A (zh) | Uart模块、uart模块传输参数的调节方法和系统级芯片 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |