一种移动终端及其处理蓝牙数据的方法技术

技术编号:17661256 阅读:175 留言:0更新日期:2018-04-08 12:31
本发明专利技术公开了一种移动终端及其处理蓝牙数据的方法,所述方法包括:数据处理模块从接收缓冲区的蓝牙数据中获取合法的上行数据;判断上行数据的类型,若为上行应答,则将上行应答或上行应答有效数据放入上行应答缓冲区,移除接收缓冲区中的上行应答;若为上行指令,则根据上行指令得到上行指令结果,将上行指令结果发送给应用模块,移除接收缓冲区中的上行指令。本发明专利技术使移动终端和同一蓝牙设备进行通讯时,既能主动向蓝牙设备发送下行指令,接收来自蓝牙设备的上行应答,也能被动的响应来自蓝牙设备的上行指令并与蓝牙设备进行通讯,能够保证数据处理过程中数据的准确性和可靠性,实现了降低移动终端的耗电量,优化移动终端性能的有益效果。

【技术实现步骤摘要】
一种移动终端及其处理蓝牙数据的方法
本专利技术涉及通信
,特别涉及一种移动终端及其处理蓝牙数据的方法。
技术介绍
在现有技术中,移动终端作为主设备在与蓝牙设备的通讯过程中,移动终端需要向蓝牙设备发送下行指令,之后等待接收来自蓝牙设备返回的上行应答,从而完成和蓝牙设备的一次通讯。因此,在一些应用场景下,移动终端为获取蓝牙设备返回的某个数据时,可能需要向蓝牙设备发送多个下行指令与蓝牙设备进行多次通讯才能获取到相应数据(例如:移动终端向蓝牙POS发送用于获取用户按键信息的下行指令后,蓝牙POS接收到相应下行指令并向移动终端返回已接收到下行指令的上行应答后,继续等待用户按键,而移动终端为获取蓝牙POS返回的用户按键的信息,则需不间断的向蓝牙POS发送下行查询指令并与蓝牙POS进行交互来判断蓝牙设备是否已获取到用户按键信息),由此,会使移动终端的耗电迅速。
技术实现思路
本专利技术提供了一种移动终端及其处理蓝牙数据的方法,解决了上述技术问题。本专利技术提供了一种移动终端处理蓝牙数据的方法,所述移动终端包括数据处理模块、应用模块和操作系统,所述数据处理模块的接收缓冲区用于存放所述数据处理模块接收到的来自所述操作系统的蓝牙设备的蓝牙数据,所述方法包括:步骤A1:所述数据处理模块从接收缓冲区中的蓝牙数据中获取合法的上行数据;步骤A2:所述数据处理模块判断所述上行数据的类型,若所述上行数据为上行应答,则将所述上行应答或上行应答中的上行应答有效数据放入到上行应答缓冲区,移除所述接收缓冲区中的上行应答;若上行数据为上行指令,则根据所述上行指令得到上行指令结果,将所述上行指令结果发送给所述应用模块,移除所述接收缓冲区中的上行指令。本专利技术还提供了一种移动终端,包括数据处理模块、应用模块和操作系统;所述数据处理模块包括:第一获取子模块、第一判断子模块、第一存储子模块、第一移除子模块、第二获取子模块、第一发送子模块、第二移除子模块和第二存储子模块;所述第二存储子模块用于将所述数据处理模块接收到的来自所述操作系统的蓝牙设备的蓝牙数据放入到接收缓冲区中;所述第一获取子模块,用于从所述接收缓冲区中的蓝牙数据中获取合法的上行数据;所述第一判断子模块,用于判断所述第一获取子模块获取到的上行数据的类型;所述第一存储子模块,用于当所述第一判断子模块判断出所述上行数据为上行应答后,将所述上行应答或上行应答中的上行应答有效数据放入到上行应答缓冲区;所述第一移除子模块,用于当所述第一存储子模块将所述上行应答或上行应答中的上行应答有效数据放入到上行应答缓冲区之后,移除所述接收缓冲区中的上行应答;所述第二获取子模块,用于当所述第一判断子模块判断出所述上行数据为上行指令后,根据所述上行指令得到上行指令结果;所述第一发送子模块,用于将所述第二获取子模块得到的所述上行指令结果发送给所述应用模块;所述第二移除子模块,用于当所述第一发送子模块将所述第二获取子模块得到的所述上行指令结果发送给所述应用模块之后,移除所述接收缓冲区中的上行指令。本专利技术的有益效果:本专利技术提供的一种移动终端及其处理蓝牙数据的方法,使移动终端在与同一蓝牙设备进行通讯时,既能主动向蓝牙设备发送下行指令,接收来自蓝牙设备的上行应答,也能被动的响应来自蓝牙设备的上行指令并与蓝牙设备进行通讯,能够保证移动终端在数据处理过程中数据的准确性和可靠性,达到降低移动终端的耗电量和优化移动终端性能的有益效果。附图说明图1为本专利技术实施例1提供了一种移动终端处理蓝牙数据的方法的流程图;图2-1、图2-2和图2-3为本专利技术实施例2提供的一种移动终端处理蓝牙数据的方法的流程图;图3为本专利技术实施例2提供的一种移动终端处理蓝牙数据的方法中的步骤302的细化图;图4本专利技术实施例3提供的一种移动终端的结构方框图。具体实施方法下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。实施例1本实施例提供了一种移动终端处理蓝牙数据的方法,其中,移动终端中包括数据处理模块、应用模块和操作系统,其中数据处理模块和应用模块可以设置在移动终端的一个应用程序上。移动终端的操作系统可以为Android或者IOS操作系统。所述方法如图1所示,包括:步骤A1:数据处理模块从接收缓冲区中的蓝牙数据中获取合法的上行数据;本实施例中,数据处理模块的接收缓冲区用于存放数据处理模块接收到的来自操作系统的蓝牙设备的蓝牙数据。优选地,数据处理模块将接收到的来自操作系统的蓝牙设备的蓝牙数据串行存放到接收缓冲区中。步骤A1具体包括:步骤A11:数据处理模块获取接收缓冲区中的第一位置上的数据,判断接收缓冲区中的第一位置上的数据是否符合预设协议的协议头,如果是,则执行步骤A12;否则,移除接收缓冲区中的第一位置上的数据,返回步骤A11;优选地,第一位置上的数据为接收缓冲区数据中的第一个字节上的数据。步骤A12:数据处理模块从接收缓冲区中获取当前待验证数据和当前校验位数据,判断当前待验证数据和当前校验位数据是否符合预设协议,如果是,则将接收缓冲区中的第一位置上的数据到当前检验位数据之间的数据作为合法的上行数据,执行步骤A2;否则,移除接收缓冲区中的第一位置上的数据,返回步骤A11。本实施例中,移除接收缓冲区中的第一位置上的数据之后,返回步骤A11之前,数据处理模块将接收缓冲区中的第一位置之后的下一个位置上的数据作为第一位置上的数据。步骤A2:数据处理模块判断上行数据的类型,若上行数据为上行应答,则将上行应答或上行应答中的上行应答有效数据放入到上行应答缓冲区,移除接收缓冲区中的上行应答;若上行数据为上行指令,则根据上行指令得到上行指令结果,将上行指令结果发送给应用模块,移除接收缓冲区中的上行指令。本实施例中,还可以包括:数据处理模块接收来自操作系统的蓝牙设备的蓝牙数据,并将其放入到接收缓冲区中;相应地,步骤A1之前还包括:步骤A0:数据处理模块判断接收缓冲区中是否存在数据,如果是,则执行步骤A1;否则,当数据处理模块将蓝牙数据放入到接收缓冲区中后,返回步骤A0或返回步骤A1;步骤A2中,移除接收缓冲区中的上行应答后,返回步骤A0;步骤A2中,移除接收缓冲区中的上行指令后,返回步骤A0。进一步地,步骤A1具体为:数据处理模块从接收缓冲区中的第一位置开始获取上行数据,判断是否获取到合法的上行数据,如果是,则执行步骤A2;否则,移除接收缓冲区中的第一位置上的数据,返回步骤A0。本实施例中,步骤A1之前还可以包括:数据处理模块接收来自操作系统的蓝牙设备的蓝牙数据,并将其放入到接收缓冲区中。进一步地,步骤A1具体为:数据处理模块获取接收缓冲区中的上行数据,判断是否获取到合法的上行数据,如果是,则执行步骤A2;否则,移除接收缓冲区中的数据。本实施例中,数据处理模块接收来自操作系统的蓝牙设备的蓝牙数据,具体为:数据处理模块通过第一回调函数接收来自操作系统的蓝牙设备的蓝牙数据;将上行指令结果发送给应用模块,具体为:数据处理模块通过第二回调函数将上行指令结果发送给应用模块。本实施例中,所本文档来自技高网...
一种移动终端及其处理蓝牙数据的方法

【技术保护点】
一种移动终端处理蓝牙数据的方法,其特征在于,所述移动终端包括数据处理模块、应用模块和操作系统,所述数据处理模块的接收缓冲区用于存放所述数据处理模块接收到的来自所述操作系统的蓝牙设备的蓝牙数据,所述方法包括:步骤A1:所述数据处理模块从接收缓冲区中的蓝牙数据中获取合法的上行数据;步骤A2:所述数据处理模块判断所述上行数据的类型,若所述上行数据为上行应答,则将所述上行应答或上行应答中的上行应答有效数据放入到上行应答缓冲区,移除所述接收缓冲区中的上行应答;若上行数据为上行指令,则根据所述上行指令得到上行指令结果,将所述上行指令结果发送给所述应用模块,移除所述接收缓冲区中的上行指令。

【技术特征摘要】
1.一种移动终端处理蓝牙数据的方法,其特征在于,所述移动终端包括数据处理模块、应用模块和操作系统,所述数据处理模块的接收缓冲区用于存放所述数据处理模块接收到的来自所述操作系统的蓝牙设备的蓝牙数据,所述方法包括:步骤A1:所述数据处理模块从接收缓冲区中的蓝牙数据中获取合法的上行数据;步骤A2:所述数据处理模块判断所述上行数据的类型,若所述上行数据为上行应答,则将所述上行应答或上行应答中的上行应答有效数据放入到上行应答缓冲区,移除所述接收缓冲区中的上行应答;若上行数据为上行指令,则根据所述上行指令得到上行指令结果,将所述上行指令结果发送给所述应用模块,移除所述接收缓冲区中的上行指令。2.根据权利要求1所述的方法,其特征在于,还包括:所述数据处理模块接收来自操作系统的蓝牙设备的蓝牙数据,并将其放入到所述接收缓冲区中;所述步骤A1之前还包括:步骤A0:所述数据处理模块判断所述接收缓冲区中是否存在数据,如果是,则执行步骤A1;否则,当数据处理模块将蓝牙数据放入到所述接收缓冲区中后,返回步骤A0;所述移除所述接收缓冲区中的上行应答后,返回步骤A0;所述移除所述接收缓冲区中的上行指令后,返回步骤A0。3.根据权利要求2所述的方法,其特征在于,所述步骤A1具体为:所述数据处理模块从接收缓冲区中的第一位置开始获取上行数据,判断是否获取到合法的上行数据,如果是,则执行步骤A2;否则,移除所述接收缓冲区中的第一位置上的数据,返回步骤A0。4.根据权利要求1所述的方法,其特征在于,所述步骤A1之前还包括:所述数据处理模块接收来自操作系统的蓝牙设备的蓝牙数据,并将其放入到接收缓冲区中。5.根据权利要求4所述的方法,其特征在于,所述步骤A1具体为:所述数据处理模块获取接收缓冲区中的上行数据,判断是否获取到合法的上行数据,如果是,则执行步骤A2;否则,移除所述接收缓冲区中的数据。6.根据权利要求2或4所述的方法,其特征在于,所述数据处理模块接收来自操作系统的蓝牙设备的蓝牙数据,具体为:所述数据处理模块通过第一回调函数接收来自操作系统的蓝牙设备的蓝牙数据;所述将所述上行指令结果发送给应用模块,具体为:所述数据处理模块通过第二回调函数将所述上行指令结果发送给应用模块。7.根据权利要求1所述的方法,其特征在于,还包括:步骤S1:所述数据处理等待接收来自所述应用模块的应用数据,若接收到来自所述应用模块的发送下行指令请求,则执行步骤S2;若接收到来自所述应用模块的发送下行应答请求,则执行步骤S3;步骤S2:所述数据处理模块根据所述发送下行指令请求得到下行指令,将所述下行指令通过所述操作系统发送给所述蓝牙设备,判断上行应答缓冲区中是否有数据,如果是,则根据所述上行应答缓冲区中的数据得到上行应答结果,并将所述上行应答结果返回给所述应用模块,返回步骤S1;否则,报错;步骤S3:所述数据处理模块根据所述发送下行应答请求得到下行应答,将所述下行应答通过所述操作系统发送给所述蓝牙设备,返回步骤S1。8.根据权利要求7所述的方法,其特征在于,当所述数据处理模块接收到来自所述应用模块的发送下行指令请求之前,还包括:所述应用模块向所述数据处理模块发送所述发送下行指令请求;当所述数据处理模块将所述上行指令结果返回给所述应用模块后,还包括:所述应用模块向所述数据处理模块发送所述发送下行应答请求。9.根据权利要求7所述的方法,其特征在于,所述将所述下行指令通过所述操作系统发送给所述蓝牙设备之前还包括:清空上行应答缓冲区。10.根据权利要求1或3或5所述的方法,其特征在于,所述步骤A1具体包括:步骤A11:所述数据处理模块获取所述接收缓冲区中的第一位置上的数据,判断所述获取到的第一位置上的数据是否符合预设协议的协议头,如果是,则执行步骤A12;否则,移除所述接收缓冲区中的第一位置上的数据,返回步骤A11;步骤A12:所述数据处理模块从所述接收缓冲区中获取当前待验证数据和当前校验位数据,判断所述当前待验证数据和当前校验位数据是否符合预设协议,如果是,则将所述接收缓冲区中的第一位置上的数据到所述当前检验位数据之间的数据作为合法的上行数据,执行步骤A2;否则,移除所述接收缓冲区中的第一位置上的数据,返回步骤A11。11.根据权利要求1所述的方法,其特征在于,所述判断上行数据的类型之后,还包括:若所述上行数据为上行通知,则根据所述上行通知得到上行通知结果,将所述上行通知结果发送给所述应用模块,移除所述接收缓冲区中的上行通知。12.根据权利要求11所述的方法,其特征在于,所述将所述上行通知结果发送给所述应用模块,具体为:所述数据处理模块通过第三回调函数将所述上行通知结果发送给所述应用模块。13.根据权利要求11所述的方法,其特征在于,所述根据所述上行通知得到上行通知结果具体为:所述数据处理模块获取所述上行通知中的有效数据,将所述上行通知中的有效数据作为上行通知结果。14.根据权利要求7所述的方法,其特征在于,所述判断上行数据的类型之后,还包括:若所述上行数据为上行延时申请,则将所述上行延时申请放入到上行延时申请缓冲区中或者根据所述上行延时申请得到上行延时时间,将上行延时申请时间放入到上行延时缓冲区中;移除所述接收缓冲区中的上行延时申请;所述将所述下行指令通过所述操作系统发送给所述蓝牙设备之后,数据处理模块判断上行应答缓冲区中是否有数据之前,还包括:步骤T1:所述数据处理模块根据超时时间判断是否超时,如果是,则向所述应用模块返回超时错误;否则,执行步骤T2;步骤T2:所述数据处理模块判断上行延时缓冲区中是否存在数据,如果是,则执行步骤T3;否则,所述数据处理模块判断上行应答缓冲区中是否有数据,继续;步骤T3:所述数据处理模块根据所述上行延时缓冲区中的数据得到上行延时时间,根据所述上行延时时间重置超时时间,清空所述上行延时缓冲区,返回步骤T1。15.根据权利要求7所述的方法,其特征在于,所述步骤S1中还包括:若接收来自应用模块的发送下行延时申请请求后,所述数据处理模块根据所述发送下行延时申请请求得到下行延时申请,将所述下行延时申请通过所述操作系统发送给所述蓝牙设备,返回步骤S1。16.根据权利要求15所述的方法,其特征在于,在所述应用模块接收到上行指令结果之后,所述应用模块向所述数据处理模块发送所述发送下行应答请求之前,还包括:所述应用模块向所述数据处理模块发送所述发送下行延时申请请求。17.根据权利要求7所述的方法,其特征在于,所述数据处理模块根据所述发送下行指令请求得到下行指令,具体为:所述数据处理模块从所述发送下行指令请求中得到下行指令有效数据,根据预设协议组织包括所述下行指令有效数据的下行指令;所述数据处理模块根据所述发送下行应答请求得到下行应答,具体为:所述数据处理模块从所述发送下行应答请求中得到下行应答有效数据,根据预设协议组织包括所述下行应答有效数据的下行应答;所述根据所述上行指令得到上行指令结果,具体为:所述数据处理模块获取所述上行指令中的有效数据,将所述上行指令中的有效数据作为所述上行指令结果;所述根据所述上行应答缓冲区中的数据得到上行应答结果,具体为:所述数据处理模块将所述上行应答中的上行应答有效数据作为上行应答结果。18.根据权利要求7所述的方法,其特征在于,所述数据处理模块根据所述发送下行指令请求得到下行指令,具体为:所述数据处理模块从所述发送下行指令请求中得到下行指令;所述数据处理模块根据所述发送下行应答请求得到下行应答,具体为:所述数据处理模块从所述发送下行应答请求中得到下行应答;所述根据所述上行指令得到上行指令结果,具体为:所述数据处理模块将所述上行指令作为所述上行指令结果;若步骤A2中所述数据处理模块将所述上行应答放入到上行应答缓冲区中,则根据所述上行应答缓冲区中的数据得到上行应答结果具体为:所述数据处理模块将所述上行应答缓冲区中的上行应答作为所述上行应答结果。19.一种移动终端,其特征在于,包括数据处理模块、应用模块和操作系统;所述数据处理模块包括:第一获取子模块、第一判断子模块、第一存储子模块、第一移除子模块、第二获取子模块、第一发送子模块、第二移除子模块和第二存储子模块;所述第二存储子模块用于将所述数据处理模块接收到的来自所述操作系统的蓝牙设备的蓝牙数据放入到接收缓冲区中;所述第一获取子模块,用于从所述接收缓冲区中的蓝牙数据中获取合法的上行数据;所述第一判断子模块,用于判断所述第一获取子模块获取到的上行数据的类型;所述第一存储子模块,用于当所述第一判断子模块判断出所述上行数据为上行应答后,将所述上行应答或上行应答中的上行应答有效数据放入到上行应答缓冲区;所述第一移除子模块,用于当所述第一存储子模块将所述上行应答或上行应答中的上行应答有效数据放入到上行应答缓冲区之后,移除所述接收缓冲区中的上行应答;所述第二获取子模块,用于当所述第一判断子模块判断出所述上行数据为上行指令后,根据所述上行指令得到上行指令结果;所述第一发送子模块,用于将所述第二获取子模块得到的所述上行指令结果发送给所述应用模块;所述第二移除子模块,用于当所述第一发送子模块将所述第二获取子模块得到的所述上行指令结果发送给所述应用模块之后,移除所述接收缓冲区中的上行指令。20.根据权利要求19所述的移动终端,其特征在于,所述数据处理模块还包括第一接收子模块和第二判断子模块;所述第一接收子模块,用于接收来自所述操作系统的蓝牙设备的蓝牙数...

【专利技术属性】
技术研发人员:陆舟于华章
申请(专利权)人:飞天诚信科技股份有限公司
类型:发明
国别省市:北京,11

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

1