一种串口通讯方法、装置、终端设备及存储介质与流程

文档序号:26050378发布日期:2021-07-27 15:25阅读:93来源:国知局
一种串口通讯方法、装置、终端设备及存储介质与流程

本发明涉及数据传输领域,尤其涉及的是一种串口通讯方法、装置、终端设备及存储介质。



背景技术:

随着科技的发展,人们在追求产品性能的同时也同样看重环境的保护,例如电动车企业的蓬勃发展,苹果手机的以旧换新,极大部分的龙头企业都会带头提倡保护环境。而在电子产品中,串口通讯是一项非常常用的串口通讯方式,可以用于各处理器的数据传输,使得人们通过多个处理器以及传感器等电子器件可以实现各种各样的功能,但现有处理器配备的用于串口通讯的串口通常是处于常开状态的,这使处理器在没有发送串口数据时也不停地产生能量的消耗,尤其是在电池供电系统中,功耗的问题大大限制了串口通讯的使用,现有技术中没有能够很好限制串口通讯功耗的方案。

因此,现有技术还有待改进和发展。



技术实现要素:

本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种串口通讯方法、装置、终端设备及存储介质,本发明解决了现有技术中各处理器用于串口通讯的串口一直处于常开状态,导致功耗较大的问题,为了解决上述技术问题,本发明采用的技术方案如下:

一种串口通讯方法,其中,所述方法包括:

预先在串口通讯双方分别增加具有io口中断的控制线,用于唤醒开启串口;

监测是否接收到来自处理器内部的串口数据待发送指令;

当接收到串口数据待发送指令时,控制通过所述控制线发送唤醒指令给串口数据接收端,通知串口数据接收端唤醒开启串口;

接收由串口数据接收端返回的已经唤醒串口并等待接收数据指令;

当接收到由串口数据接收端返回的已经唤醒串口并等待接收数据指令,控制发送串口数据给串口数据接收端进行串口通讯;

当串口数据发送完毕并在预定时间内没有进行串口通讯,则控制关闭串口。

所述的串口通讯方法,其中,所述预先在串口通讯双方分别增加具有io口中断的控制线,用于唤醒开启串口的步骤包括:

所述具有io口中断的控制线包括唤醒指令发送口以及唤醒指令接收口;

预先设置在处理器上的唤醒指令发送口,用于发送唤醒指令给串口数据接收端,通知串口数据接收端即将开始发送串口数据,使串口数据接收端开启串口;

预先设置在处理器上的唤醒指令接收口,用于接收串口数据接收端发送的已经唤醒串口并等待接收数据指令,通知处理器已准备好接收串口数据,并使处理器开启串口。

所述的串口通讯方法,其中,所述预先在串口通讯双方分别增加具有io口中断的控制线,用于唤醒开启串口的步骤之后还包括:

预先设置一定时器,并设定预设时间t,用于当接收到串口数据待发送指令时开始计时,当处理器的串口在超过预定时间t且没有进行串口通讯时关闭处理器的串口;

预先设置在处理器上的串口,包括发送串口和接收串口,用于串口通讯时发送或接收串口数据;

预先设置处理器上的串口初始化为关闭状态。

所述的串口通讯方法,其中,所述当接收到串口数据待发送指令时,控制通过所述控制线发送唤醒指令给串口数据接收端,通知串口数据接收端唤醒开启串口的步骤包括:

监测接收到串口数据待发送指令,通知串口需要进行串口数据发送;

定时器开启计时;

控制唤醒指令发送口发送唤醒指令给串口数据接收端,使串口数据接收端唤醒开启串口。

所述的串口通讯方法,其中,所述接收由串口数据接收端返回的已经唤醒串口并等待接收数据指令的步骤包括:

接收到由串口数据接收端返回的已经唤醒串口并等待接收数据指令;

开启串口。

所述的串口通讯方法,其中,所述当接收到由串口数据接收端返回的已经唤醒串口并等待接收数据指令,控制发送串口数据给串口数据接收端进行串口通讯的步骤包括:

通过处理器的串口将串口数据发送给串口数据接收端。

所述的串口通讯方法,其中,所述当串口数据发送完毕并在预定时间内没有进行串口通讯,则控制关闭串口的步骤包括:

当串口数据发送完毕并在预定时间内没有进行串口通讯;

关闭串口。

一种串口通讯装置,其中,所述装置包括:

监测模块,用于监测处理器内部发来的串口数据待发送指令;

唤醒模块,用于发送唤醒指令给串口数据接收端,通知串口数据接收端即将进行串口通讯;

唤醒确认模块,用于接收由串口数据接收端返回的已经唤醒串口并等待接收数据指令,并控制打开处理器的串口;

数据发送模块,用于发送串口数据给串口数据接收端;

定时模块,用于当处理器在预设时间内没有进行串口通讯时关闭串口。

一种串口通讯设备,其中,所述串口通讯设备包括存储器、处理器及存储在所述存储器中并可在所述处理器上运行的串口通讯程序,所述处理器执行所述串口通讯程序是,实现任一项所述的串口通讯方法的步骤。

一种计算机可读存储介质,其中,所述计算机可读存储介质上存储有串口通讯程序,所述图像显示程序被处理器执行时,实现任一项所述的串口通讯方法的步骤。

有益效果:与现有技术相比,本发明提供了一种串口通讯方法,所述方法采用:当处理器不需要进行串口通讯时关闭串口降低处理器功耗;当处理器需要进行串口通讯时先发送唤醒指令给串口数据接收端,并等待串口数据接收端返回数据待接收指令,当处理器确认串口通讯双方都打开串口时开始发送串口数据,当串口数据发送完毕并且在预设时间内没有串口通讯时再次关闭串口,通过本方法使得处理器串口仅在有串口通讯需求时才开启,其余时间关闭,从而节约了系统功耗。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的串口通讯方法的具体实施方式的流程图。

图2是本发明实施例中对串口进行预先设置控制线的流程示意图。

图3是本发明实施例提供的当串口数据发送端接收到来自处理器的串口数据待发送指令时的流程示意图。

图4是本发明实施例提供的当串口数据发送端接收到返回的已经唤醒串口并等待接收数据指令的流程示意图。

图5是本发明实施例提供的控制发送串口数据进行串口通讯的流程示意图。

图6是本发明实施例提供的当串口数据发送完毕并在预定时间内没有进行串口通讯关闭串口的流程示意图。

图7是本发明第二实施例中得到的数据图表。

图8是本发明实施例提供的串口通讯装置的原理框图。

图9是本发明实施例提供的终端设备的内部结构原理图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

需要说明,若本发明实施例中有涉及方向性指示(诸如上、下、左、右、前、后……),则该方向性指示仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。

另外,若本发明实施例中有涉及“第一”、“第二”等的描述,则该“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

随着科技的发展,人们在追求高新科技发展的同时也把目光聚焦于可持续发展,大家都认识到只有在与大自然保持良好关系的前提下才能够持续性的索取和交换资源,其主要体现在可降解塑料的广泛推广,快餐店堂食的可乐咖啡不再提供盖子,还有超市的塑料袋开始收费等地方,除了日常生活中的小细节外,像是鼓励购买电动车的政策以及苹果公司产品的以旧换新,还有各种电子商品回收站点的兴起,都体现着绿色环保的精神。而提到环保最容易想到的一个词语就是节约,节约水资源,节约用电,节约粮食等,对于我们日常生活来说,水龙头记得关、用电设备记得关还有吃饭的时候尽量购买和自己胃口相当的量就可以做到节约资源,而对于企业特别是电子设备企业来说,环保用料,降低功耗就是他们的目标,当产品的科技含量足够高时,环保的宣传会让更多的消费者为之买单。例如处理器和传感器间的串口通讯,有的处理器间或是处理器与传感器间每时每刻都在进行串口通讯,有的处理器仅在有数据传输需求时进行串口通讯,有的处理器则99%的时间都没有在进行串口通讯例如csr1020、ndn9205等。而现有的处理器中,不论是何种处理器只要需要进行串口通讯,其串口都处于常开状态,这使得处理器的部分功耗被白白浪费,十分的不环保、不节能。

为了解决现有技术中的问题,本实施例提供一种串口通讯方法,处理器在不进行串口通讯时关闭其串口,当处理器需要进行串口数据发送时向串口数据接收端发送唤醒指令,接收端接收到唤醒指令后打开串口并返回已经唤醒串口并等待接收数据指令通知串口数据发送端的处理器已准备好接收串口数据,串口数据发送端的处理器接收到所述串口数据接收端返回的已经唤醒串口并等待接收数据指令后开启串口并发送串口数据,当串口数据发送完毕且在一段时间内没有再进行串口数据传输时自动关闭串口节省功耗。运用本技术方案可根据各处理器使用串口通讯的情况减低系统功耗。

示例性方法

第一实施例

如图1中所示,本发明实施例提供一种串口通讯方法,所述串口通讯方法可用于手机、电脑等带有处理器的设备中。在本发明实施例中,所述方法包括如下步骤:

步骤s100、预先在串口通讯双方分别增加具有io口中断的控制线,用于唤醒开启串口;

在本实施例中,为了使处理器的串口在长时间不进行串口通讯的情况下关闭串口,在串口数据的发送端以及串口数据的接收端分别增加具有io口中断的控制线,用于在需要进行串口通讯时控制打开串口,且在预定时间内没有串口通讯时关闭串口。

具体地,如图2所示、所述步骤s100包括:

步骤s101、所述具有io口中断的控制线包括唤醒指令发送口以及唤醒指令接收口;

步骤s102、预先设置在处理器上的唤醒指令发送口,用于发送唤醒指令给串口数据接收端,通知串口数据接收端即将开始发送串口数据,使串口数据接收端开启串口;

步骤s103、预先设置在处理器上的唤醒指令接收口,用于接收串口数据接收端发送的已经唤醒串口并等待接收数据指令,通知处理器已准备好接收串口数据,并使处理器开启串口。

举例说明,要为某用于发送串口数据的处理器a与某用于接收串口数据的处理器b增加控制串口开启与关闭功能以减低串口通讯的功耗,则分别为处理器a与处理器b各增加两个拥有中断的io口,包括唤醒指令发送口以及唤醒指令接收口,所述设置在处理器a与处理器b上的唤醒指令发送口用于发送唤醒指令给串口数据接收端,所以在处理器a为串口数据发送端的场合中由处理器a向处理器b发送唤醒指令,所述处理器b通过唤醒指令接收口接收到由处理器a发送的唤醒指令,并开启串口,再通过处理器b的唤醒指令发送口发送已经唤醒串口并等待接收数据指令,由处理器a的唤醒指令接收口接收,并开启处理器a的串口。

其中,所述预先在串口通讯双方分别增加具有io口中断的控制线,用于唤醒开启串口的步骤之后还包括:

预先设置一定时器,并设定预设时间t,用于当接收到串口数据待发送指令时开始计时,当处理器的串口在超过预定时间t且没有进行串口通讯时关闭处理器的串口;

预先设置在处理器上的串口,包括发送串口和接收串口,用于串口通讯时发送或接收串口数据;

预先设置处理器上的串口初始化为关闭状态。

举例说明,为了使处理器a与处理器b能够进行串口通讯,分别为处理器a与处理器b各安装一发送串口与接收串口,且预先设置所述发送串口与接受串口为关闭状态。再分别给处理器a与处理器b中加入一定时器,并设置时间为1s,当处理器a与处理器b之间进行最后一次数据传输时,定时器最后一次重置时间,并在此后1s内若无数据传输则自动关闭处理器a与处理器b的串口。

进一步地,步骤s200、监测是否接收到来自处理器内部的串口数据待发送指令;

在本实施例中,当处理器需要发送串口数据时需先向串口发送串口数据待发送指令,也可以通过直接发送数据信息的形式,通知串口即将进行串口数据发送,并进行相应的串口开启以及唤醒串口数据接收端开启串口的准备。

举例说明,当处理器a需要将36.5℃的信息通过串口传输给处理器b,则此时处理器a接收到串口数据待发送指令或直接接收到36.5℃的信息,通过指令或信息进一步发送唤醒指令给处理器b;若处理器a一直没有接收到任何数据或串口数据待发送指令则处理器a的串口会一直保持关闭状态。

进一步地,步骤s300、当接收到串口数据待发送指令时,控制通过所述控制线发送唤醒指令给串口数据接收端,通知串口数据接收端唤醒开启串口;

在本实施例中,当串口接收到处理器的数据待发送指令或数据信息后,通过唤醒指令发送口发送唤醒指令给串口数据接收端,唤醒串口数据接收端开启串口并等待数据接收。

具体地,如图3所示、所述步骤s300包括:

步骤s301、监测接收到串口数据待发送指令,通知串口需要进行串口数据发送;

步骤s302、定时器开启计时;

步骤s303、控制唤醒指令发送口发送唤醒指令给串口数据接收端,使串口数据接收端唤醒开启串口。

举例说明,当处理器a的串口检测到由处理器发送来的串口数据待发送指令或是温度数据36.5℃,则定时器开始计时,并控制处理器a的唤醒指令发送口发送唤醒指令给处理器b的串口,使处理器b打开串口等待串口数据传输。

进一步地,步骤s400、接收由串口数据接收端返回的已经唤醒串口并等待接收数据指令;

在本实施例中,当串口数据发送端发出的唤醒指令被串口数据接收端接收到后,串口数据接收端唤醒开启串口同时启动定时器,通过唤醒指令发送口返回已经唤醒串口并等待接收数据指令,该指令再由串口数据发送端接收。

具体地,如图4所示、所述步骤s400包括:

步骤s401、接收到由串口数据接收端返回的已经唤醒串口并等待接收数据指令;

步骤s402、开启串口。

举例说明,当处理器a通过唤醒指令发送口向处理器b发送唤醒指令后,所述处理器b的唤醒指令接收口接收到唤醒指并开启定时器计时,再通过处理器b的唤醒指令发送口发送已经唤醒串口并等待接收数据指令给处理器a,当处理器a的唤醒指令接收口接收到所述已经唤醒串口并等待接收数据指令,开启串口并准备开始发送数据。

进一步地,步骤s500、当接收到由串口数据接收端返回的已经唤醒串口并等待接收数据指令,控制发送串口数据给串口数据接收端进行串口通讯;

在本实施例中,当串口数据发送端接收到由串口数据接收端返回的已经唤醒串口并等待接收数据指令,接收端与发送端都已开启串口,则控制串口数据发送端发送串口数据给所述串口数据接收端。

具体地,如图5所示、所述步骤s500包括:

步骤s501、通过处理器的串口将串口数据发送给串口数据接收端。

举例说明,当处理器a通过唤醒指令接收端接收到由处理器b返回的已经唤醒串口并等待接收数据指令,则控制串口发送36.5℃的串口数据给处理器b。

进一步地,步骤s600、当串口数据发送完毕并在预定时间内没有进行串口通讯,则控制关闭串口。

在本实施例中,当所有的串口数据发送完毕并在预定时间内串口数据发送端与串口数据接收端没有再进行串口通讯则自动关闭串口,所述预定时间为串口数据发送端与串口数据接收端的定时器归零的时间。

具体地,如图6所示,步骤s600包括:

步骤s601、当串口数据发送完毕并在预定时间内没有进行串口通讯;

步骤s602、关闭串口。

举例说明,当处理器a发送完36.5℃的数据后还一系列的发送了十组温度数据,间隔0.1s发送一组,则在最后一次发送完数据并等待1s后处理器a与处理器b的定时器超时,自动关闭串口。若在10s后再次需要发送串口数据时再通过唤醒的形式唤醒串口数据接收端并开启双方的串口再继续进行串口通讯。

在第二实施例中,如图7所示,在实际使用时的mdm9205平台下,mdm9205通过串口和蓝牙iccsr1020通讯,在增加具有io口中断的控制线之前,所述mdm9205的待机电流为9ma,所述csr1020的待机电流为1.3ma;而在增加了具有io口中断的控制线之后,所述mdm9205待机电流为1ma,所述csr1020待机电流为0.3ma,相比于对串口进行控制前,mdm9205的串口99%的时间都处于关闭状态,减少了8ma的电流,csr1020的串口99%处于关闭状态,减少了1ma的电流,达到了非常理想的节能效果。

示例性设备

如图8中所示,本发明实施例提供一种串口通讯装置,该装置包括:监测模块810、唤醒模块820、唤醒确认模块830、数据发送模块840、定时模块850。具体地,所述监测模块810,用于监测处理器内部发来的串口数据待发送指令;所述唤醒模块820,用于发送唤醒指令给串口数据接收端,通知串口数据接收端即将进行串口通讯;所述唤醒确认模块830,用于接收由串口数据接收端返回的已经唤醒串口并等待接收数据指令,并控制打开处理器的串口;所述数据发送模块840,用于发送串口数据给串口数据接收端;所述定时模块850,用于当处理器在预设时间内没有进行串口通讯时关闭串口。

基于上述实施例,本发明还提供了一种终端设备,其原理框图可以如图9所示。该终端设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏。其中,该终端设备的处理器用于提供计算和控制能力。该终端设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该终端设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种串口通讯方法。该终端设备的显示屏可以是液晶显示屏或者电子墨水显示屏。

本领域技术人员可以理解,图9中示出的原理框图,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的终端设备的限定,具体的终端设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种终端设备,终端设备包括存储器、处理器及存储在处理器上并可在处理器上运行的终端数据处理程序,处理器执行如下步骤:

预先在串口通讯双方分别增加具有io口中断的控制线,用于唤醒开启串口;

监测是否接收到来自处理器内部的串口数据待发送指令;

当接收到串口数据待发送指令时,控制通过所述控制线发送唤醒指令给串口数据接收端,通知串口数据接收端唤醒开启串口;

接收由串口数据接收端返回的已经唤醒串口并等待接收数据指令;

当接收到由串口数据接收端返回的已经唤醒串口并等待接收数据指令,控制发送串口数据给串口数据接收端进行串口通讯;

当串口数据发送完毕并在预定时间内没有进行串口通讯,则控制关闭串口。

其中,所述预先在串口通讯双方分别增加具有io口中断的控制线,用于唤醒开启串口的步骤包括:

所述具有io口中断的控制线包括唤醒指令发送口以及唤醒指令接收口;

预先设置在处理器上的唤醒指令发送口,用于发送唤醒指令给串口数据接收端,通知串口数据接收端即将开始发送串口数据,使串口数据接收端开启串口;

预先设置在处理器上的唤醒指令接收口,用于接收串口数据接收端发送的已经唤醒串口并等待接收数据指令,通知处理器已准备好接收串口数据,并使处理器开启串口。

其中,所述预先在串口通讯双方分别增加具有io口中断的控制线,用于唤醒开启串口的步骤之后还包括:

预先设置一定时器,并设定预设时间t,用于当接收到串口数据待发送指令时开始计时,当处理器的串口在超过预定时间t且没有进行串口通讯时关闭处理器的串口;

预先设置在处理器上的串口,包括发送串口和接收串口,用于串口通讯时发送或接收串口数据;

预先设置处理器上的串口初始化为关闭状态。

其中,所述当接收到串口数据待发送指令时,控制通过所述控制线发送唤醒指令给串口数据接收端,通知串口数据接收端唤醒开启串口的步骤包括:

监测接收到串口数据待发送指令,通知串口需要进行串口数据发送;

定时器开启计时;

控制唤醒指令发送口发送唤醒指令给串口数据接收端,使串口数据接收端唤醒开启串口。

其中,所述接收由串口数据接收端返回的已经唤醒串口并等待接收数据指令的步骤包括:

接收到由串口数据接收端返回的已经唤醒串口并等待接收数据指令;

开启串口。

其中,所述当接收到由串口数据接收端返回的已经唤醒串口并等待接收数据指令,控制发送串口数据给串口数据接收端进行串口通讯的步骤包括:

通过处理器的串口将串口数据发送给串口数据接收端。

其中,所述当串口数据发送完毕并在预定时间内没有进行串口通讯,则控制关闭串口的步骤包括:

当串口数据发送完毕并在预定时间内没有进行串口通讯;

关闭串口。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

综上所述,本发明公开了一种串口通讯方法、装置、终端设备及存储介质,所述方法包括:预先在串口通讯双方分别增加具有io口中断的控制线,用于唤醒开启串口,且串口默认为常闭状态,当串口数据发送端接收到串口数据发送指令或串口数据时,通过控制线唤醒串口数据接收端使其开启串口,当所述串口数据接收端被唤醒且开启串口后返回唤醒完成的指令,当串口数据发送端接收到所述唤醒完成的指令后开启串口并进行串口数据发送,当串口数据发送完毕且预定时间内不再进行串口通讯时双方自动关闭串口。旨在解决现有技术中没有技术方案能够限制串口通讯功耗的问题,降低串口通讯功耗,起到环保省电的作用。

应当理解的是,本发明公开的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1