CN108958501A - 字符录入、输出方法和装置、可读存储介质及电子设备 - Google Patents

字符录入、输出方法和装置、可读存储介质及电子设备 Download PDF

Info

Publication number
CN108958501A
CN108958501A CN201710369856.XA CN201710369856A CN108958501A CN 108958501 A CN108958501 A CN 108958501A CN 201710369856 A CN201710369856 A CN 201710369856A CN 108958501 A CN108958501 A CN 108958501A
Authority
CN
China
Prior art keywords
character
data buffer
buffer zone
counting semaphore
read
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.)
Granted
Application number
CN201710369856.XA
Other languages
English (en)
Other versions
CN108958501B (zh
Inventor
毛卫龙
高翔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Longxin Zhongke Shanxi Technology Co ltd
Original Assignee
Loongson Technology Corp Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Loongson Technology Corp Ltd filed Critical Loongson Technology Corp Ltd
Priority to CN201710369856.XA priority Critical patent/CN108958501B/zh
Publication of CN108958501A publication Critical patent/CN108958501A/zh
Application granted granted Critical
Publication of CN108958501B publication Critical patent/CN108958501B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本发明实施例提供了一种字符录入、输出方法和装置、可读存储介质及电子设备,其中所述字符录入方法包括:当字符录入时,获取键盘录入的字符;将所述字符添加至数据缓冲区中并将计数器信号量所指示的数量加一,所述计数器信号量表示所述数据缓冲区中字符的个数;唤醒字符输出任务。通过本发明实施例提供的字符录入方案,能够避免输出字符乱序的问题。

Description

字符录入、输出方法和装置、可读存储介质及电子设备
技术领域
本发明涉及USB键盘驱动技术领域,特别是涉及一种字符录入、输出方法和装置、可读存储介质及电子设备。
背景技术
USB(Universal Serial Bus,通用串行总线)已经有10多年的历史。它的出现主要是为了简化个人计算机与外围设备的连接,增加易用性。在比较老的个人计算机中,基本上是要关掉计算机之后才能连接设备或者更换设备,然后重新启动计算机设备才能正常工作耗时长。USB正是解决了这个问题,它支持热插拔且即插即用,正是由于USB具有该优势因此USB键盘得到了快速普及。
vxWorks系统中现有的USB键盘驱动存在不稳定的问题,具体地如果用户快速输入大量的数据,而此时系统未及时将USB键盘驱动维护的缓冲区中的数据全部输出到终端,缓冲区中会出现字符积压,就会引起后续的输入字符无法对应的输出到终端,最终导致输出字符乱序的问题。
发明内容
本发明提供了一种字符录入、输出方法和装置、可读存储介质及电子设备,以解决现有技术中存在的因缓冲区中字符积压而导致的输出字符乱序的问题。
为了解决上述问题,本发明公开了一种字符录入方法,其中所述包括:当字符录入时,获取键盘录入的字符;将所述字符添加至数据缓冲区中并将计数器信号量所指示的数量加一,所述计数器信号量表示所述数据缓冲区中字符的个数;唤醒字符输出任务。
为了解决上述问题,本发明公开了一种字符输出方法,其中所述方法包括:当字符输出任务被唤醒时,获取计数器信号量,所述计数器信号量表示数据缓冲区中字符的个数;当获取到所述计数器信号量时,依据所述计数器信号量从所述数据缓冲区中读取字符;将读取的字符通过终端驱动显示在终端显示屏上。
为了解决上述问题,本发明公开了一种字符录入装置,其中所述装置包括:获取模块,用于当字符录入时,获取键盘录入的字符;添加模块,用于将所述字符添加至数据缓冲区中并将计数器信号量所指示的数量加一,所述计数器信号量表示所述数据缓冲区中字符的个数;唤醒模块,用于唤醒字符输出任务。
为了解决上述问题,本发明公开了一种字符输出装置,其中所述方法包括:计数器信号量获取模块,用于当字符输出任务被唤醒时,获取计数器信号量,所述计数器信号量表示数据缓冲区中字符的个数;读取模块,用于当获取到所述计数器信号量时,依据所述计数器信号量从所述数据缓冲区中读取字符;显示模块,用于将读取的字符通过终端驱动显示在终端显示屏上。
为了解决上述问题,本发明公开了一种电子设备,所述电子设备包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:当字符录入时,获取键盘录入的字符;将所述字符添加至数据缓冲区中并将计数器信号量所指示的数量加一,所述计数器信号量表示所述数据缓冲区中字符的个数;唤醒字符输出任务;当字符输出任务被唤醒时,获取计数器信号量,所述计数器信号量表示数据缓冲区中字符的个数;当获取到所述计数器信号量时,依据所述计数器信号量从所述数据缓冲区中读取字符;将读取的字符通过终端驱动显示在终端显示屏上。
为了解决上述问题,本发明还公开了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行本发明实施例中所述的任意一种字符录入方法以及本发明实施例中所述的任意一种字符输出方法。
与现有技术相比,本发明包括以下优点:
本发明提供的字符录入、输出的方案即便是数据缓冲区中出现了字符积压现象,但是有由于计数器信号量表示数据缓冲区中字符的个数,一旦字符输出任务被唤醒成功获取到计数器信号量进行字符输出,便可以通过计数器信号量确定积压的字符个数,从而将所积压的字符逐一输出直至数据缓冲区中积压的字符全部输出后,这样后续的输入字符能够及时的输出到终端,避免输出字符乱序。
附图说明
图1是根据本发明实施例一的一种字符录入方法的步骤流程图;
图2是根据本发明实施例二的一种字符录入方法的步骤流程图;
图3是根据本发明实施例三的一种字符输出方法的步骤流程图;
图4是根据本发明实施例四的一种字符输出方法的步骤流程图;
图5是根据本发明实施例五的一种字符录入、输出方法的步骤流程图;
图6是根据本发明实施例六的一种字符录入装置的结构框图;
图7是根据本发明实施例七的一种字符输出装置的结构框图;
图8是根据本发明实施例八的一种电子设备的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
参照图1,示出了本发明实施例一的一种字符录入方法的步骤流程图。
本实施例的字符录入方法包括以下步骤:
步骤101:当字符录入时,获取键盘录入的字符。
本发明实施例中,由CPU调用字符录入程序控制键盘驱动执行字符录入。当检测到USB键盘按键被按压时,CPU调用字符录入程序执行字符录入任务。
步骤102:将字符添加至数据缓冲区中并将计数器信号量所指示的数量加一。
其中,计数器信号量表示所述数据缓冲区中字符的个数
其中,数据缓冲区由USB键盘驱动维护。数据缓冲区中添加的各字符以队列的形式存在。
可选地,在将字符添加至数据缓冲区中之前,判断数据缓冲区中字符的个数是否超出预设值;若是,将本次输入的字符丢弃,并唤醒字符输出任务;若否,则将字符添加至数据缓冲区中,将计数器信号量所指示的数量加一并唤醒字符输出任务。
步骤103:唤醒字符输出任务。
字符输出任务被唤醒后,由CPU调用字符输出程序执行字符输出流程。
本发明提供的字符录入方法,引入计数器信号量用计数器信号量指示数据缓冲区中字符的个数,即便是数据缓冲区中出现了字符积压现象,但是有由于计数器信号量表示数据缓冲区中字符的个数,一旦字符输出任务被唤醒成功获取到计数器信号量进行字符输出,便可以通过计数器信号量确定积压的字符个数,从而将所积压的字符逐一输出直至数据缓冲区中积压的字符全部输出后,这样后续的输入字符能够及时的输出到终端,避免输出字符乱序。
实施例二
参照图2,示出了本发明实施例二的一种字符录入方法的步骤流程图。
本实施例的字符录入方法包括以下步骤:
步骤201:当字符录入时,获取键盘录入的字符。
本发明实施例中,由CPU调用字符录入程序以及字符输出程序控制键盘驱动执行字符录入、输出,其中,字符录入程序用于执行字符录入的相关操作,字符输出程序用于执行字符输出的相关操作。
步骤202:调用数据缓冲区读写接口写入字符至数据缓冲区中。
当检测到USB键盘按键被按压时,CPU执行字符录入程序调用数据缓冲区读写接口,由于数据缓冲区读写接口已被字符录入程序调用,因此字符输出程序则无法调用到该接口,因此在字符录入时无法进行字符输出。
其中,数据缓冲区由USB键盘驱动维护。数据缓冲区中添加的各字符以队列的形式存在。
可选地,在调用数据缓冲区读写接口之后,判断数据缓冲区中字符的个数是否超出预设值;若是,将本次输入的字符丢弃,并释放数据缓冲区读写接口;若否,则将字符添加至数据缓冲区中,将计数器信号量所指示的数量加一并释放数据缓冲区读写接口。
其中,预设值可以由本领域技术人员根据实际需求进行设置,本发明实施例中对此不做具体限制,例如:设置为5、8、10等。该种可选的方式,能够避免数据缓冲区中的字符积压持续增加,并且由于立即将数据缓冲区读写接口释放,字符输出程序可及时获取到数据缓冲区读写接口,能够及时将数据缓冲区中积压的符输出,保证后续字符的正常输入。
步骤203:将计数器信号量所指示的数量加一。
其中,计数器信号量表示数据缓冲区中字符的个数。
每当数据缓冲区中新添加一个字符,计数器信号量的数量加一;每当数据缓冲区中读出一个字符,计数器信号量的数量减一。
步骤204:释放数据缓冲区读写接口,唤醒字符输出任务。
需要说明的是,在具体实现过程中还可以在执行完步骤202之后,先释放数据缓冲区读写接口,然后再将计数器信号量所指示的数量加一,最后再唤醒字符输出任务。
数据缓冲区读写接口被释放表示数据缓冲区可读。此时,若字符出任务被唤醒,字符输出程序则可成功调用数据缓冲区读写接口,执行字符输出操作,同理在字符输出过程中由于数据缓冲区读写接口被字符输出程序占用,因此字符输入程序无法成功调用数据缓冲区读写接口,故不支持字符输入的相关操作。
需要说明的是,在具体实现过程中可以通过二进制信号量来表征数据缓冲区读写接口,二进制信号量的值可以为0或1,当其值为1时表示数据缓冲区读写接口已被占用,当其值为0时表示数据缓冲区接口未被占用,反之已可。
本发明实施例提供的字符录入方法,即便是数据缓冲区中出现了字符积压现象,但是有由于计数器信号量表示数据缓冲区中字符的个数,一旦字符输出任务被唤醒成功获取到计数器信号量进行字符输出,便可以通过计数器信号量确定积压的字符个数,从而将所积压的字符逐一输出直至数据缓冲区中积压的字符全部输出后,这样后续的输入字符能够及时的输出到终端,避免输出字符乱序。
实施例三
参照图3,示出了本发明实施例三的一种字符输出方法的步骤流程图。
步骤301:当字符输出任务被唤醒时,获取计数器信号量。
字符输出任务被唤醒时,CPU通过调用字符输出程序执行相应的字符输出流程。
其中,计数器信号量表示数据缓冲区中字符的个数。
步骤302:当获取到计数器信号量时,依据计数器信号量从数据缓冲区中读取字符。
当获取到计数器信号量时,表示数据缓冲区中存在字符;反之,当未获取到计数器信号量时,表示数据缓冲区中不存在字符。
在依据计数器信号量从数据缓冲区中读取字符时,可以逐个字符读取,也可以将数据缓冲区中的全部字符一并读出。
步骤303:将读取的字符通过终端驱动显示在终端显示屏上。
本发明实施例提供的字符输出方法,即便是数据缓冲区中出现了字符积压现象,但是有由于计数器信号量表示数据缓冲区中字符的个数,一旦字符输出任务被唤醒成功获取到计数器信号量进行字符输出,便可以通过计数器信号量确定积压的字符个数,从而将所积压的字符逐一输出直至数据缓冲区中积压的字符全部输出后,这样后续的输入字符能够及时的输出到终端,避免输出字符乱序。
实施例四
参照图4,示出了本发明实施例四的一种字符输出方法的步骤流程图。
本发明实施例的字符输出方法包括以下步骤:
步骤401:当字符输出任务被唤醒时,获取计数器信号量。
当字符输出任务被唤醒时,CPU通过调用字符输出程序控制USB键盘驱动执行字符输出。
步骤402:判断是否获取到计数器信号量;若是,则执行步骤403,若否,则字符输出任务终止返回执行步骤401。
具体地判断是否获取计数器信号量时,通过如下方式实现:
判断计数器信号量是否为零;
当计数器信号量非零时,获取到计数器信号量;
当计数器信号量为零时,未获取到计数器信号量。
当未获取到计数器信号量时,说明数据缓冲区当前可读、但数据缓冲区中不存在字符,则字符输出流程终止;当获取到计数器信号量时,说明数据缓冲区中存在字符、且数据缓冲区当前可读。
当获取到计数器信号量时,则依据计数器信号量从数据缓冲区中读取字符;并将读取的字符通过终端驱动显示在终端显示屏上,具体流程如步骤403至步骤404中所示。
步骤403:当获取到计数器信号量时,将计数器信号量所指示的数量减一。
步骤404:从数据缓冲区读取一个字符,将读取的字符发送至终端驱动,将读取的字符通过终端驱动显示在终端显示屏上,返回执行获取计数器信号量的操作。其中,从数据缓冲区中读取一个字符的操作具体如下:
调用数据缓冲区读写接口,从数据缓冲区中读取一个字符,并释放数据缓冲区读写接口。
通过步骤401至步骤404仅是完了一个字符的输出,若计数器信号量所指示的数量大于1,则在完成一个字符输出后数据缓冲区中仍然存在待输出的字符,因此返回执行获取计数器信号量的操作,继续进行下一个字符的输出。
在具体实现过程中,若计数器信号量指示的数值大于1,则可持续将数据缓冲区中的字符读出,并持续将计数器信号量所指示的数量减小,直至数据缓冲区中的全部字符均输出,计数器信号量变为0无法获取到计数器信号量为止。
需要说明的是,在具体实现过程中在获取到计数器信号量后进行字符输出时,并不局限于按照步骤403至步骤404中所示的顺序执行,还可以按照如下顺序执行:
在获取到计数器信号量时,先从数据缓冲区读取一个字符,然后将读取的字符发送至终端驱动;再将计数器信号量所指示的数量减一,返回执行获取计数器信号量的操作。
本流程中从数据缓冲区中读取一个字符的操作具体包括:调用数据缓冲区读写接口,从数据缓冲区中读取一个字符,并释放数据缓冲区读写接口。
此外还可以按照如下顺序执行:
当获取到计数器信号量时,调用数据缓冲区读写接口读字符;
将计数器信号量所指示的数量减一,释放数据缓冲区读写接口;
返回执行获取计数器信号量的操作。
本发明实施例提供的字符输出方法,即便是数据缓冲区中出现了字符积压现象,但是有由于计数器信号量表示数据缓冲区中字符的个数,一旦字符输出任务被唤醒成功获取到计数器信号量进行字符输出,便可以通过计数器信号量确定积压的字符个数,从而将所积压的字符逐一输出直至数据缓冲区中积压的字符全部输出后,这样后续的输入字符能够及时的输出到终端,避免输出字符乱序。
实施例五
参照图5,示出了本发明实施例五的一种字符录入、输出方法的步骤流程图。
本发明实施例的字符处理方法具体包括以下步骤:
步骤501:当字符录入时,字符录入程序获取键盘录入的字符。
当在信息输入界面中,检测到用户对键盘按键的按压操作时,则确定有字符需要录入。
其中,CPU通过预设的程序控制USB键盘驱动进行字符录入和输出,预设程序包括字符录入程序以及字符输出程序。字符录入程序用于执行字符录入的相关操作,字符输出程序用于执行字符输出的相关操作。
步骤502:调用数据缓冲区读写接口,判断数据缓冲区中字符的个数是否超出预设值;若是,则执行步骤503;若否,则执行步骤504。
其中,计数器信号量表示数据缓冲区中字符的个数。
步骤503:将字符丢弃然后执行步骤506。
至此,本分支的字符输入的相关操作结束。
步骤504:将该字符添加至数据缓冲区中。
其中,数据缓冲区由USB键盘驱动维护。添加至数据缓冲区中的字符以队列的形式存在。
步骤505:将计数器信号量所指示的数量加一。
步骤506:释放数据缓冲区读写接口,唤醒字符输出任务。
其中,数据缓冲区读写接口被字符录入程序释放表示数据缓冲区可读;计数器信号量表示数据缓冲区中字符的个数。当数据缓冲区中无字符时可以将计数器信号量设置为0,但此时字符输出程序无法成功获取到计数器信号量。
需要说明的是,还可以先释放缓冲区读写接口再将计数器信号量所指示的数量加一。
步骤507:当字符输出任务被唤醒时,获取计数器信号量。
本发明实施例中,由于在步骤506中数据缓冲区读写接口已被字符录入程序释放、且计数器信号量所指示的数量为非0值,因此本发明实施例中在字符输出相关流程中可以成功调用数据缓冲区读写接口以及获取到计数器信号量。
步骤508:当获取到计数器信号量时,依据计数器信号量从数据缓冲区中读取字符,并将读取的字符通过终端驱动显示在终端显示屏上。
对于依据计数器信号量从数据缓冲区中读取字符,将读取的字符通过终端驱动显示在终端显示屏上的具体说明,参照实施例四中的相关说明即可,本发明实施例中对此不再赘述。
本发明实施例提供的字符输入、输出方法,即便是数据缓冲区中出现了字符积压现象,但是有由于计数器信号量表示数据缓冲区中字符的个数,一旦字符输出任务被唤醒成功获取到计数器信号量进行字符输出,便可以通过计数器信号量确定积压的字符个数,从而将所积压的字符逐一输出直至数据缓冲区中积压的字符全部输出后,这样后续的输入字符能够及时的输出到终端,避免输出字符乱序。
实施例六
参照图6,示出了本发明实施例六的一种字符录入装置的结构示意图。
本发明实施例的字符录入装置包括:获取模块601,用于当字符录入时,获取键盘录入的字符;添加模块602,用于将所述字符添加至数据缓冲区中并将计数器信号量所指示的数量加一,所述计数器信号量表示所述数据缓冲区中字符的个数;唤醒模块603,用于唤醒字符输出任务。
可选地,所述添加模块602包括:调用子模块,用于调用数据缓冲区读写接口写入所述字符至数据缓冲区中;增量子模块,用于将计数器信号量所指示的数量加一;释放子模块,用于释放数据缓冲区读写接口。
本发明实施例中的字符录入装置用于实现前述方法实施例中相应的字符录入方法,并且具有相应的方法实施的有益效果,在此不再赘述。
实施例七
参照图7,示出了本发明实施例七的一种字符输出装置的结构示意图。
本发明实施例的字符输出装置包括:计数器信号量获取模块701,用于当字符输出任务被唤醒时,获取计数器信号量,所述计数器信号量表示数据缓冲区中字符的个数;读取模块702,用于当获取到所述计数器信号量时,依据所述计数器信号量从所述数据缓冲区中读取字符;显示模块703,用于将读取的字符通过终端驱动显示在终端显示屏上。
可选地,所述计数器信号量获取模块701具体用于:判断计数器信号量是否为零;当所述计数器信号量非零时,获取到所述计数器信号量;当所述计数器信号量为零时,未获取到所述计数器信号量。
可选地,所述读取模块702具体用于:当获取到所述计数器信号量时,将所述计数器信号量所指示的数量减一;从数据缓冲区读取一个字符,将读取的所述字符发送至所述终端驱动并返回执行所述获取计数器信号量的操作。
可选地,所述读取模块702具体用于:当获取到所述计数器信号量时,从数据缓冲区读取一个字符,将读取的所述字符发送至所述终端驱动;将所述计数器信号量所指示的数量减一并返回执行所述获取计数器信号量的步骤。
可选地,所述读取模块702具体用于:当获取到所述计数器信号量时,调用数据缓冲区读写接口读字符;将所述计数器信号量所指示的数量减一,释放数据缓冲区读写接口;返回执行所述获取计数器信号量的操作。
可选地,所述装置还包括:终止模块用于当未获取到所述计数器信号量时,则字符输出任务终止。
本发明实施例中的字符输出装置用于实现前述方法实施例中相应的字符输出方法,并且具有相应的方法实施的有益效果,在此不再赘述。
实施例八
参照图8,示出了本发明实施例八的一种电子设备的结构框图。
图8是根据一示例性实施例示出的一种用于字符录入和/或字符输出电子设备800的结构框图。例如,电子设备800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图8,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理部件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备600可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信部件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信部件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由电子设备800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述实施例中所示的任意一种字符录入方法和/或字符输出方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上对本发明所提供的一种字符录入、输出方法和装置、存储介质以及电子设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (14)

1.一种字符录入方法,其特征在于,包括:
当字符录入时,获取键盘录入的字符;
将所述字符添加至数据缓冲区中并将计数器信号量所指示的数量加一,所述计数器信号量表示所述数据缓冲区中字符的个数;
唤醒字符输出任务。
2.根据权利要求1所述的方法,其特征在于,所述将所述字符添加至数据缓冲区中并将计数器信号量所指示的数量加一,包括:
调用数据缓冲区读写接口写入所述字符至数据缓冲区中;
将计数器信号量所指示的数量加一;
释放数据缓冲区读写接口。
3.一种字符输出方法,其特征在于,包括:
当字符输出任务被唤醒时,获取计数器信号量,所述计数器信号量表示数据缓冲区中字符的个数;
当获取到所述计数器信号量时,依据所述计数器信号量从所述数据缓冲区中读取字符;
将读取的字符通过终端驱动显示在终端显示屏上。
4.根据权利要求3所述的方法,其特征在于,当获取到所述计数器信号量时,依据所述计数器信号量从所述数据缓冲区中读取字符,包括:
当获取到所述计数器信号量时,将所述计数器信号量所指示的数量减一;
从数据缓冲区读取一个字符,将读取的所述字符发送至所述终端驱动并返回执行所述获取计数器信号量的步骤。
5.根据权利要求3所述的方法,其特征在于,当获取到所述计数器信号量时,依据所述计数器信号量从所述数据缓冲区中读取字符,包括:
当获取到所述计数器信号量时,从数据缓冲区读取一个字符,将读取的所述字符发送至所述终端驱动;
将所述计数器信号量所指示的数量减一并返回执行所述获取计数器信号量的步骤。
6.根据权利要求3所述的方法,其特征在于,当获取到所述计数器信号量时,依据所述计数器信号量从所述数据缓冲区中读取字符,包括:
当获取到所述计数器信号量时,调用数据缓冲区读写接口读字符;
将所述计数器信号量所指示的数量减一,释放数据缓冲区读写接口;
返回执行所述获取计数器信号量的步骤。
7.一种字符录入装置,其特征在于,包括:
获取模块,用于当字符录入时,获取键盘录入的字符;
添加模块,用于将所述字符添加至数据缓冲区中并将计数器信号量所指示的数量加一,所述计数器信号量表示所述数据缓冲区中字符的个数;
唤醒模块,用于唤醒字符输出任务。
8.根据权利要求7所述的装置,其特征在于,所述添加模块包括:
调用子模块,用于调用数据缓冲区读写接口写入所述字符至数据缓冲区中;
增量子模块,用于将计数器信号量所指示的数量加一;
释放子模块,用于释放数据缓冲区读写接口。
9.一种字符输出装置,其特征在于,包括:
计数器信号量获取模块,用于当字符输出任务被唤醒时,获取计数器信号量,所述计数器信号量表示数据缓冲区中字符的个数;
读取模块,用于当获取到所述计数器信号量时,依据所述计数器信号量从所述数据缓冲区中读取字符;
显示模块,用于将读取的字符通过终端驱动显示在终端显示屏上。
10.根据权利要求9所述的装置,其特征在于,所述读取模块具体用于:
当获取到所述计数器信号量时,将所述计数器信号量所指示的数量减一;
从数据缓冲区读取一个字符,将读取的所述字符发送至所述终端驱动并返回执行所述获取计数器信号量的操作。
11.根据权利要求9所述的装置,其特征在于,读取模块具体用于:
当获取到所述计数器信号量时,从数据缓冲区读取一个字符,将读取的所述字符发送至所述终端驱动;
将所述计数器信号量所指示的数量减一并返回执行所述获取计数器信号量的步骤。
12.根据权利要求9所述的装置,其特征在于,读取模块具体用于:
当获取到所述计数器信号量时,调用数据缓冲区读写接口读字符;
将所述计数器信号量所指示的数量减一,释放数据缓冲区读写接口;
返回执行所述获取计数器信号量的操作。
13.一种电子设备,其特征在于,包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:
当字符录入时,获取键盘录入的字符;
将所述字符添加至数据缓冲区中并将计数器信号量所指示的数量加一,所述计数器信号量表示所述数据缓冲区中字符的个数;
唤醒字符输出任务;
当字符输出任务被唤醒时,获取计数器信号量,所述计数器信号量表示数据缓冲区中字符的个数;
当获取到所述计数器信号量时,依据所述计数器信号量从所述数据缓冲区中读取字符;
将读取的字符通过终端驱动显示在终端显示屏上。
14.一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1-2中一个或多个所述的字符录入方法以及如方法权利要求3-6中一个或多个所述的字符输出方法。
CN201710369856.XA 2017-05-23 2017-05-23 字符录入、输出方法和装置、可读存储介质及电子设备 Active CN108958501B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710369856.XA CN108958501B (zh) 2017-05-23 2017-05-23 字符录入、输出方法和装置、可读存储介质及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710369856.XA CN108958501B (zh) 2017-05-23 2017-05-23 字符录入、输出方法和装置、可读存储介质及电子设备

Publications (2)

Publication Number Publication Date
CN108958501A true CN108958501A (zh) 2018-12-07
CN108958501B CN108958501B (zh) 2022-06-21

Family

ID=64493742

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710369856.XA Active CN108958501B (zh) 2017-05-23 2017-05-23 字符录入、输出方法和装置、可读存储介质及电子设备

Country Status (1)

Country Link
CN (1) CN108958501B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101800867A (zh) * 2010-01-19 2010-08-11 深圳市同洲电子股份有限公司 一种实现环形缓冲区的方法、装置及数字电视接收终端
CN102339137A (zh) * 2010-07-26 2012-02-01 联想(北京)有限公司 输入方法及应用该输入方法的电子设备
CN102945135A (zh) * 2012-10-24 2013-02-27 广东欧珀移动通信有限公司 一种输入字符的删除方法和装置
CN103294218A (zh) * 2012-02-22 2013-09-11 深圳市祈飞科技有限公司 一种模拟键盘输入方法及装置
WO2014015205A1 (en) * 2012-07-20 2014-01-23 Microsoft Corporation String predictions from buffer
US20140108004A1 (en) * 2012-10-15 2014-04-17 Nuance Communications, Inc. Text/character input system, such as for use with touch screens on mobile phones
CN105446699A (zh) * 2015-12-07 2016-03-30 中国电子科技集团公司第十研究所 数据帧队列管理方法
CN105867651A (zh) * 2016-04-21 2016-08-17 北京小米移动软件有限公司 字符的提示方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101800867A (zh) * 2010-01-19 2010-08-11 深圳市同洲电子股份有限公司 一种实现环形缓冲区的方法、装置及数字电视接收终端
CN102339137A (zh) * 2010-07-26 2012-02-01 联想(北京)有限公司 输入方法及应用该输入方法的电子设备
CN103294218A (zh) * 2012-02-22 2013-09-11 深圳市祈飞科技有限公司 一种模拟键盘输入方法及装置
WO2014015205A1 (en) * 2012-07-20 2014-01-23 Microsoft Corporation String predictions from buffer
US20140108004A1 (en) * 2012-10-15 2014-04-17 Nuance Communications, Inc. Text/character input system, such as for use with touch screens on mobile phones
CN102945135A (zh) * 2012-10-24 2013-02-27 广东欧珀移动通信有限公司 一种输入字符的删除方法和装置
CN105446699A (zh) * 2015-12-07 2016-03-30 中国电子科技集团公司第十研究所 数据帧队列管理方法
CN105867651A (zh) * 2016-04-21 2016-08-17 北京小米移动软件有限公司 字符的提示方法及装置

Also Published As

Publication number Publication date
CN108958501B (zh) 2022-06-21

Similar Documents

Publication Publication Date Title
CN106155504B (zh) 模组唤醒方法及装置
CN104598111B (zh) 切换显示模式的方法及装置
RU2692570C1 (ru) Способ и устройство для чтения сообщений
WO2017071068A1 (zh) 应用程序切换方法、装置及设备
CN106547663B (zh) 按键管理方法及装置
CN105677460A (zh) 应用程序处理方法以及装置
US11310646B2 (en) Bluetooth-based playback method and electronic device
CN104951335B (zh) 应用程序安装包的处理方法及装置
CN104219388A (zh) 语音控制方法和装置
CN107608561A (zh) 触摸屏控制方法及装置
CN105487658A (zh) 控制应用运行的方法及装置
CN104298547A (zh) 终端设置方法及装置
CN104954549A (zh) 电子装置以及通信方法
CN104578372A (zh) 控制终端设备充电的方法及装置
CN105094527A (zh) 图标交换方法及装置
US20190370584A1 (en) Collecting fingerprints
KR101676216B1 (ko) 메시지 발송 방법, 장치, 프로그램 및 기록매체
CN109471596A (zh) 数据写入方法、装置、设备及存储介质
CN104407924A (zh) 内存优化方法及装置
CN107783790A (zh) 终端唤醒方法及装置
CN105511777A (zh) 触控显示屏上的会话显示方法及装置
CN106603801B (zh) 一种通话录音方法及装置
US11756586B2 (en) Method for splicing audio file and computer device
CN105516469A (zh) 闹钟控制方法及装置
CN106774802A (zh) 终端电量的提示方法、装置及终端

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
CB02 Change of applicant information

Address after: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Applicant after: Loongson Zhongke Technology Co.,Ltd.

Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Applicant before: LOONGSON TECHNOLOGY Corp.,Ltd.

CB02 Change of applicant information
TA01 Transfer of patent application right

Effective date of registration: 20220428

Address after: 046011 No. 9, North 1st ring road, Changzhi City, Shanxi Province (room 804, 8th floor, science and Technology Incubation Park, Changzhi national high tech Zone)

Applicant after: Longxin Zhongke (Shanxi) Technology Co.,Ltd.

Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Applicant before: Loongson Zhongke Technology Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant