一种移动终端SD卡检测方法、装置、设备及存储介质
文献发布时间:2023-06-19 11:02:01
技术领域
本发明涉及移动终端技术领域,尤其涉及一种移动终端SD卡检测方法、装置、设备及存储介质。
背景技术
目前,移动终端技术飞速发展,特别是软件,其更新速度非常快,为了适应用户的各种新需求以及对原有问题的解决,经常需要更新软件。比如,某移动终端制造商的产品中还保留有一些小问题,然而为了提早将该产品在市场上出售,以占据有利位置,该制造商就让产品带着这些小问题先在市场上出售。之后,再通过发布更新软件包来解决这些问题。这样,既保证产品尽快上市,减少开发时间,同时也能在后续开发中将软件更新到用户购买的产品中来解决问题。基于上述,移动终端为了方便用户使用更大的存储空间,多支持双SD卡,甚至三SD卡、四SD卡同时工作。然而,由于各个SD卡在移动终端是物理独立接口,因此SD卡检测引脚需要由SD卡数目来决定,也就是说移动终端支持多少个SD卡,则中央处理器原则上需要分配多少个引脚用于检测SD卡。
因此,现有技术中存在缺陷,有待改进与发展。
发明内容
针对现有技术中的上述问题,本发明提供一种移动终端SD卡检测方法、装置、设备及存储介质,旨在当移动终端支持多个SD卡时,无需多个中央处理器的引脚来检测;多个SD卡的检测方式均相同且具有较强的可扩展性,甚至可以扩展至移动终端能够支持数十个SD卡;该检测方法提升了检测速度,节省了移动终端的资源,极大的方便了用户使用。
本发明的技术方案如下:
第一方面,本发明提供一种移动终端SD卡检测方法,包括步骤:
中央处理器与多SD卡模块相连接;
多SD卡模块输出SD卡状态识别码;
中央处理器获取并识别SD卡状态识别码,所述SD卡状态识别码由二进制代码组成。
所述的移动终端SD卡检测方法,其中,所述中央处理器与多SD卡模块相连接的方式包括:中央处理器通过GPIO引脚与多SD卡模块OUT引脚相连接。
所述的移动终端SD卡检测方法,其中,所述多SD卡模块输出的SD卡状态识别码包括:起始识别码、一个或多个SD识别码、结束识别码;所述起始识别码、SD识别码以及结束识别码由二进制代码组成且各不相同。
所述的移动终端SD卡检测方法,其中,所述多SD卡模块输出SD卡状态识别码的步骤包括:
为多SD卡模块上的每个SD卡定义一个唯一的SD识别码;
定义起始识别码和结束识别码;
若所述多SD卡模块上有一个SD卡被放入,则所述多SD卡模块输出一个SD卡状态识别码;或者,若所述多SD卡模块上有多个SD卡被放入,则所述多SD卡模块输出多个SD卡状态识别码。
所述的移动终端SD卡检测方法,其中,所述多SD卡模块输出一个SD卡状态识别码的步骤包括:
所述多SD卡模块中某一个SD卡被放入;
多SD卡模块通过OUT引脚发送起始识别码;
多SD卡模块通过OUT引脚发送所述SD卡的SD识别码;
多SD卡模块通过OUT引脚发送结束识别码。
所述的移动终端SD卡检测方法,其中,所述多SD卡模块输出多个SD卡状态识别码的步骤包括:
所述多SD卡模块中多个SD卡被放入;
多SD卡模块通过OUT引脚发送起始识别码;
多SD卡模块通过OUT引脚按照任意顺序依次发送所述多个SD卡的SD识别码;
多SD卡模块通过OUT引脚发送结束识别码。
所述的移动终端SD卡检测方法,其中,所述中央处理器获取并识别SD卡状态识别码的步骤包括:
所述中央处理器的GPIO配置成输入状态;
电平获取模块获取所述GPIO的电平并传递给转换模块;
所述转换模块将电平转换为二进制代码;
识别所述二进制代码并转换成相应的识别码;
根据所述识别码判断多SD卡模块中SD卡的放入状态。
第二方面,本发明实施例还提供一种移动终端SD卡检测装置,包括:
多SD卡模块以及中央处理器,所述中央处理器的GPIO引脚与所述多SD卡模块的OUT引脚相连接;
其中,多SD卡模块包括:
SD卡检测模块,用于检测多SD卡模块上的SD卡放入状态;
转换模块,用于将一次多SD卡模块操作转换成相应的SD卡状态识别码;
输出模块,用于将所述SD卡状态识别码依次通过OUT引脚输出;
中央处理器包括:
定时器,用以设定电平持续时间;
配置模块,用以将GPIO配置成输入状态;
电平获取模块,用以获取所述GPIO的电平状态;
转换模块,用以根据所述GPIO的电平状态来转换成相应的SD卡状态识别码,并据此判断SD卡的放入状态。
第三方面,本发明实施例还提供一种移动终端设备,包括中央处理器以及与所述中央处理器连接的缓存;所述缓存存储有程序指令,所述程序指令被所述中央处理器执行时实现如前任意一项所述移动终端SD卡检测方法的步骤;所述中央处理器用于执行所述缓存中的程序指令,所述中央处理器执行所述程序指令时,实现如前任意一项所述方法中的步骤。
第四方面,本发明实施例还提供一种存储介质,其中,所述存储介质存储有程序指令,所述程序指令被中央处理器操作时实现如前任意一项所述移动终端SD卡检测方法的步骤。
有益效果:本发明提供了一种移动终端SD卡检测方法,所述方法包括以下步骤:中央处理器与多SD卡模块相连接;多SD卡模块输出SD卡状态识别码;中央处理器获取并识别SD卡状态识别码。其中,所述SD卡状态识别码由二进制代码组成。本发明提供的移动终端SD卡检测方法,在移动终端支持多个SD卡时,无需多个中央处理器的引脚来检测;多个SD卡的检测方式均相同且具有较强的可扩展性,甚至可以扩展至移动终端能够支持数十个SD卡;该检测方法提升了检测速度,节省了移动终端的资源,极大的方便了用户使用。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的移动终端SD卡检测方法的具体实施方式的流程图。
图2为本发明实施例提供的中央处理器获取并识别SD卡状态识别码的具体实施方式的流程图。
图3为本发明实施例提供的一种移动终端SD卡检测装置的功能模块连接方式示意图。
图4为本发明实施例提供的一种移动终端SD卡检测装置的多SD卡模块的示意图。
图5为本发明实施例提供的一种移动终端SD卡检测装置的中央处理器模块的示意图。
具体实施方式
为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前移动终端为了方便用户使用更大的存储空间,多支持双SD卡,甚至三SD卡、四SD卡同时工作。然而,由于各个SD卡在移动终端是物理独立接口,因此SD卡检测引脚需要由SD卡数目来决定,也就是说移动终端支持多少个SD卡,则中央处理器原则上需要分配多少个引脚用于检测SD卡。
为了解决现有技术中存在的上述问题,本发明提供了一种移动终端SD卡检测方法,在移动终端支持多个SD卡时,无需多个中央处理器的引脚来检测;多个SD卡的检测方式均相同且具有较强的可扩展性,甚至可以扩展至移动终端能够支持数十个SD卡;该检测方法提升了检测速度,节省了移动终端的资源,极大的方便了用户使用。具体实施时,包括以下步骤:中央处理器与多SD卡模块相连接;多SD卡模块输出SD卡状态识别码;中央处理器获取并识别SD卡状态识别码。其中,所述SD卡状态识别码由二进制代码组成。
具体地,如图1所示,本发明较佳实施例的移动终端SD卡检测方法包括以下步骤:
步骤S100,中央处理器与多SD卡模块相连接。
其中所述中央处理器与多SD卡模块相连接的方式包括:中央处理器通过GPIO引脚与多SD卡模块OUT引脚相连接。
多SD卡模块运用OUT引脚,主要功能是输出,OUT引脚输出高电平表示字符1,OUT引脚输出低电平表示字符0;中央处理器采用GPIO(General-purpose input/output,通用型输入输出)引脚,可以用于输入、输出。对于输入,可以通过读取某个寄存器来确定引脚电位的高低;对于输出,可以通过写入某个寄存器来让这个引脚输出高电位或者低电位。
步骤S200,多SD卡模块输出SD卡状态识别码。
所述SD卡状态识别码包括:起始识别码、一个或多个SD识别码、结束识别码。SD卡状态识别码是二进制数,由若干个字符0或字符1组成。首先,为多SD卡模块上的每个SD卡定义一个唯一的SD识别码,并且要求每个SD卡对应的SD识别码字符个数相等;其次,除了SD识别码外,定义一个起始识别码、一个结束识别码,起始识别码、结束识别码与所有SD卡的SD识别码都不相同,且字符个数与所有SD卡的SD识别码相同;为了更形象地说明本节,举例来说:假设移动终端多SD卡模块共有三个SD卡,可以设SD卡1的SD识别码为1010、SD卡2的SD识别码为0001、SD卡3的SD识别码为1011,另外设置起始识别码为1000、结束识别码为1101。
若所述多SD卡模块上有一个SD卡被放入,则所述多SD卡模块输出一个SD卡状态识别码;或者,若所述多SD卡模块上有多个SD卡被放入,则所述多SD卡模块输出多个SD卡状态识别码。
在一些具体的实施方式中,所述多SD卡模块输出一个SD卡状态识别码的步骤包括:
所述多SD卡模块中某一个SD卡被放入;
多SD卡模块通过OUT引脚发送起始识别码;
多SD卡模块通过OUT引脚发送所述SD卡的SD识别码;
多SD卡模块通过OUT引脚发送结束识别码。
为了更形象地说明本节,举例来说:假设移动终端多SD卡模块共有三个SD卡,可以设SD卡1的SD识别码为1010、SD卡2的SD识别码为0001、SD卡3的SD识别码为1011,另外设置起始识别码为1000、结束识别码为1101。若检测到SD卡2被放入,则多SD卡模块通过OUT引脚发送:1000,0001,1101。
在一些具体的实施方式中,所述多SD卡模块输出多个SD卡状态识别码的步骤包括:
所述多SD卡模块中多个SD卡被放入;
多SD卡模块通过OUT引脚发送起始识别码;
多SD卡模块通过OUT引脚按照任意顺序依次发送所述多个SD卡的SD识别码;
多SD卡模块通过OUT引脚发送结束识别码。
为了更形象地说明本节,举例来说:假设移动终端多SD卡模块共有三个SD卡,可以设SD卡1的SD识别码为1010、SD卡2的SD识别码为0001、SD卡3的SD识别码为1011,另外设置起始识别码为1000、结束识别码为1101。若检测到SD卡1、SD卡2被放入,则多SD卡模块通过OUT引脚发送:1000,1010,0001,1101;或者1000,0001,1010,1011。
步骤S300,中央处理器获取并识别SD卡状态识别码,所述SD卡状态识别码由二进制代码组成。
在一些实施方式中,所述中央处理器获取并识别SD卡状态识别码包括以下步骤,如图2所示:
S301、所述中央处理器的GPIO配置成输入状态;
在移动终端开机时,将GPIO配置成输入状态,用于输入依次通过OUT引脚输出的电平值(高电平或者低电平)。
S302、电平获取模块获取所述GPIO的电平并传递给转换模块;
依次通过OUT引脚输出的电平值(高电平或者低电平),输入至中央处理器的GPIO。每隔一定时间,触发电平获取模块获取GPIO的电平值(高电平或者低电平),并将电平值传递给转换模块。
较佳的,每隔1毫秒触发电平获取模块。
S303、所述转换模块将电平转换为二进制代码;
如果GPIO为高电平,则传递进来的字符为1;如果GPIO为低电平,则传递进来的字符为0。
S304、识别所述二进制代码并转换成相应的识别码;
假设移动终端多SD卡模块共有三个SD卡,设SD卡1的SD识别码为1010、SD卡2的SD识别码为0001、SD卡3的SD识别码为1011,另外设置起始识别码为1000、结束识别码为1101。连续获取四个字符,如果这连续的四个字符组成1000,则为起始识别码;如果这连续的四个字符组成1101,则为结束识别码;如果这连续的四个字符组成1010,则为SD卡1的SD识别码;如果这连续的四个字符组成0001,则为SD卡2的SD识别码;如果这连续的四个字符组成1011,则为SD卡3的SD识别码。
S305、根据所述识别码判断多SD卡模块中SD卡的放入状态。
当中央处理器检测到GPIO引脚上输入起始识别码后,获取之后的识别码,若为SD识别码则根据该SD识别码就知道多SD卡模块上哪一个SD卡被放入,若为结束识别码则表示在多SD卡模块上的一次操作已结束。
为了更形象地说明本节,举例来说:假设移动终端多SD卡模块共有三个SD卡,设SD卡1的SD识别码为1010、SD卡2的SD识别码为0001、SD卡3的SD识别码为1011,另外设置起始识别码为1000、结束识别码为1101。若检测到GPIO引脚上输入的识别码为:1000,1010,0001,1101,那么在起始识别码1000之后,是SD卡1的SD识别码1010、SD卡2的SD识别码0001,以及结束识别码1101,说明在多SD卡模块上SD卡1、SD卡2被放入。
应当理解的是,本实施例中各步骤的序号的大小并不意味着步骤执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成唯一限定。
本发明还提供一种移动终端SD卡检测装置,如图3所示,包括:多SD卡模块100以及中央处理器200,所述中央处理器的GPIO引脚与所述多SD卡模块的OUT引脚相连接。
其中,多SD卡模块100包括:SD卡检测模块110、转换模块120、输出模块130,如图4所示;
SD卡检测模块110,用于检测多SD卡模块上的哪个或哪些SD卡被放入;
转换模块120,用于将一次多SD卡模块操作(在多SD卡模块上一次放入一个或多个SD卡称为一次多SD卡模块操作)转换成相应的一串识别码,这串识别码由起始识别码、一个或若干个SD识别码、结束识别码依次组成;所谓起始识别码、SD识别码、结束识别码由若干个0或1组成,一个SD识别码对应一个SD卡,起始识别码、SD识别码、结束识别码的字符个数相等,且起始识别码、SD识别码、结束识别码各不相同;
输出模块130,将转换模块120转换得到的一串识别码依次通过OUT引脚输出,OUT引脚输出高电平表示字符1,OUT引脚输出低电平表示字符0;每一个字符代表的电平所持续的时间相同,且为固定值。
较佳地,每个字符代表的电平持续1毫秒.
为了更形象地说明本节,举例来说:假设移动终端多SD卡模块共有三个SD卡,设SD卡1的SD识别码为1010、SD卡2的SD识别码为0001、SD卡3的SD识别码为1011,另外设置起始识别码为1000、结束识别码为1101。当检测到SD卡2被放入时,输出模块130将按照高电平-低电平-低电平-低电平-低电平-低电平-低电平-高电平-高电平-高电平-低电平-高电平依次输出相应波形。
中央处理器200包括:定时器210、配置模块220、电平获取模块230、转换模块240,如图5所示;
定时器210,其超时时间与OUT引脚代表一个字符0或字符1的电平持续时间;
较佳地,定时器210的超时时间为1毫秒;
配置模块220,用以在移动终端开机时将GPIO配置成输入状态;
电平获取模块230,用以获取GPIO的电平状态(高电平还是低电平);
转换模块240,用以根据电平获取模块230得到的GPIO的电平状态来转换成相应的识别码(起始识别码、结束识别码或SD识别码),从而进一步得到多SD卡模块100上哪一个或哪一些SD卡被放入。
为了更形象地说明此节,举例来说:假设移动终端多SD卡模块共有三个SD卡,设SD卡1的SD识别码为1010、SD卡2的SD识别码为0001、SD卡3的SD识别码为1011,另外设置起始识别码为1000、结束识别码为1101。
根据以上所述移动终端多SD卡模块连接方式的多SD卡模块输入检测方法,进行SD卡检测具体包括以下步骤:
步骤S1、由定时器210每隔1毫秒触发电平获取模块230获取GPIO的电平,并将电平值传递给转换模块240,如果GPIO为高电平则传递1给转换模块,如果GPIO为低电平则传递0给转换模块;
步骤S2、转换模块240,根据传递进来的字符0或1,连续获取四个字符,之后执行步骤S3;
步骤S3、如果这连续的四个字符组成1000(起始识别码),则执行步骤S4,否则执行步骤S2;
步骤S4、连续获取四个字符,之后执行步骤S5;
步骤S5、如果这连续的四个字符组成1101(结束识别码),则执行步骤S6,否则执行步骤S7;
步骤S6、本次多SD卡模块操作检测结束(在多SD卡模块上一次放入一个或多个SD卡称为一次多SD卡模块操作),将临时变量中所检测到的所有SD卡上报,清空临时变量,之后执行步骤S2;
步骤S7、这四个字符组成的SD识别码对应的SD卡被放入,在临时变量中记录这个被放入的SD卡,之后执行步骤S4。
所述临时变量,为一个存储区域,里面可以存储多个值,步骤S7用来存储检测到的被放入的SD卡。
本发明还提供了一种移动终端设备,包括中央处理器以及与所述中央处理器连接的缓存;所述缓存存储有程序指令,所述程序指令被所述中央处理器执行时实现如前任意一项所述移动终端SD卡检测方法的步骤;所述中央处理器用于执行所述缓存中的程序指令,所述中央处理器执行所述程序指令时,实现如前任意一项所述方法中的步骤。
在一些具体的实施方式中,移动终端设备可以为手机或者平板电脑。
本发明还提供一种存储介质,所述存储介质可以是设置于上述各实施例中的电子装置中,所述存储介质存储有程序指令,所述程序指令被中央处理器操作时实现如前任意一项所述移动终端SD卡检测方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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)等。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个可读存储介质中,包括若干指令用以使得一台移动终端(可以是手机,平板电脑)执行本申请各个实施例方法的全部或部分步骤。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本申请所提供的设置项处理方法、装置及计算机可读存储介质的描述,对于本领域的技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。
综上所述,本发明提供了一种移动终端SD卡检测方法、装置、设备及存储介质,所述检测方法包括:中央处理器通过GPIO引脚与多SD卡模块OUT引脚相连接,多SD卡模块通过OUT引脚输出实际多SD卡状态的SD卡状态识别码,中央处理器的GPIO配置成输入状态并通过GPIO引脚上电平的高低变化获取各SD卡状态识别码;如果多SD卡模块上有一个或多个SD卡被同时放入,则多SD卡模块通过OUT引脚向中央处理器发送被放入的SD卡的状态识别码;中央处理器,通过检测GPIO引脚上高低电平的变化得到多SD卡模块发送过来的SD卡状态识别码;当中央处理器检测到GPIO引脚上输入起始识别码后,获取之后的识别码,若为SD识别码则根据该SD识别码就知道多SD卡模块上哪一个SD卡被放入,若为结束识别码则表示在多SD卡模块上的一次操作已结束。本发明提供的移动终端SD卡检测方法,在移动终端支持多个SD卡时,无需多个中央处理器的引脚来检测;多个SD卡的检测方式均相同且具有较强的可扩展性,甚至可以扩展至移动终端能够支持数十个SD卡;该检测方法提升了检测速度,节省了移动终端的资源,极大的方便了用户使用。
应当理解的是,以上所述仅为本发明的较佳实施例而已,并不足以限制本发明的技术方案,对本领域普通技术人员来说,在本发明的精神和原则之内,可以根据上述说明加以增减、替换、变换或改进,而所有这些增减、替换、变换或改进后的技术方案,都应属于本发明所附权利要求的保护范围。
- 一种移动终端SD卡检测方法、装置、设备及存储介质
- 设备误唤醒的数据检测方法、装置、移动终端和存储介质