具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了避免触屏终端从休眠状态被唤醒时的手写输入信息的丢失,本发明实施例提供一种手写输入方法,如图1所示,包括:
101、在检测到手写输入时,获取并存储手写输入信息,并且向主机发送唤醒通知;
在本发明实施例中,需要在触屏终端中设置存储手写系统获取的手写输入信息的存储空间,该存储空间的大小可以根据丢失的数据量进行设置,而该丢失的数据量是由预先设定的发点速度和主机的唤醒延迟时间得出的。例如,可以根据预先设定的发点速度和主机的唤醒延迟时间确定丢失的输入信息量,将该存储空间的大小设置为大于或等于该丢失的输入信息量。
举例而言,在手写系统检测到手写输入时,手写系统以固定的周期获取手写输入轨迹上的采集点的坐标压力信息,并将该坐标压力信息作为手写输入信息进行存储,同时,手写系统向主机发送唤醒通知。其中,该唤醒通知用于唤醒处于休眠状态的主机,可以通过多种方式实现。例如,可以通过改变手写系统对主机的输出信号的电平高低,来实现向主机发送唤醒通知。
另外,在存储手写输入信息时,可以对最初落笔点即手写输入轨迹的第一个点进行特殊处理,以供上层驱动处理。例如,可以在获取到最初落笔点的手写输入信息后,在所述最初落笔点的手写输入信息中添加最初落笔标志,并存储所述添加有最初落笔标志的最初落笔点的手写输入信息。
102、在接收到主机的唤醒响应后,向主机发送存储的手写输入信息。
举例而言,可以预先设定手写系统每次向主机发送手写输入信息时的发送量,该每次发送手写输入信息时的发送量可以根据预先设定的单位发送时间和单位采集时间确定。其中,该单位发送时间是手写系统发送手写输入轨迹上的一个采集点的坐标压力信息的时间,该单位采集时间是手写系统采集手写输入轨迹上的一个采集点的坐标压力信息的时间。
在手写系统接收到主机的唤醒响应后,可以根据该预先设定的发送量向主机发送存储的手写输入信息。即,每次以该发送量的手写输入信息为一组进行发送。
另外,还可以在确定存储的手写输入信息均已发送给主机后,将当前获取的手写输入信息直接发送给主机。
本实施例所涉及的手写输入方法,通过在检测到手写输入时,获取并存储手写输入信息,向主机发送唤醒通知,并且,在接收到主机的唤醒响应后向主机发送存储的手写输入信息。因此,能够避免触屏终端的主机从休眠状态被唤醒时的手写输入信息的丢失,使主机在被唤醒后及时、准确并且完整地获取到电磁板被唤醒到主机被唤醒该段时间内采集手写输入信息并加以处理,从而提高用户的使用体验。
下面,以手写系统是电磁手写系统为例,对上一实施例作进一步具体地详细描述。
在本实施例中,首先需要设定一个存储空间,存储可能会丢失的手写输入信息。该存储空间是多个先进先出的队列,并且,该存储空间的大小必须大于或等于可能会丢失的手写输入信息的数量。其中,可以根据主机的唤醒延迟时间和电磁板的发点速度确定可能会丢失的手写输入信息的数量。例如,假设主机的唤醒延迟时间为150ms,电磁板的发点速度为8ms/dot,可以得到主机被唤醒时大概会丢失18.75个采集点的手写输入信息,因此,设定storeX[20],storeY[20],storeP[20]这三个队列用来存储电磁板先于主机醒来时获取到的采集点的X,Y坐标和压力值。
如图2所示,本实施例所涉及的手写输入方法,包括:
201、当电磁手写系统检测到手写输入时,电磁手写系统判断主机是否处于休眠状态。若判定主机处于休眠状态,则进入步骤202,否则,进入步骤203。
在本实施例中,电磁手写系统分为电磁输入笔、电磁板和控制板三个部分。电磁板的信号发生装置产生的脉冲信号进入被选通的发送线圈,当电磁输入笔接近这个发送线圈时,笔中的电路感应到激励的脉冲信号而生成正弦波并反射回电磁板。这个信号经过放大信号处理电路、积分电路后,通过A/D转换后通过串口、USB、IIC等多种总线方式输入到CPU,即主机中。CPU对该信号进行分析计算,得到手写笔的位置信息和压力信息。
在本实施例中,主机和电磁板均具有休眠的功能,而电磁板休眠时,相关的晶振、AD都关闭,可以大大降低功耗。主机和电磁板唤醒的过程可以通过外部中断的方法实现。在该方法中,主机和电磁板之间正常通信、休眠、唤醒的工作过程分别如下:正常通信时,电磁板通过相应的总线传输方式,将检测到的手写输入信息,即手写轨迹的采集点的坐标压力信息发送给主机,同时向主机输出高电平的输出信号pen_detect,主机检测到该输出信号pen_detect为高电平,持续接收电磁板发送的数据。当电磁板在规定时间内没有检测到手写输入信息时,电磁板向主机发送低电平的输出信号pen_detect,以通知主机当前没有手写输入信息向主机发送。当主机检测到低电平的输出信号pen_detect持续了规定的时间后,主机进入休眠状态,以便降低功耗,同时主机向电磁板输出高电平的输出信号sleep,电磁板根据该高电平的输出信号sleep也进入休眠状态。当电磁板再次检测到电磁输入笔的坐标压力信息时,电磁板被唤醒,并向主机发送高电平的输出信号pen_detect。主机接收到该高电平的输出信号pen_detect后被唤醒,主机向电磁板发送低电平的输出信号sleep,以向电磁板通知该主机被唤醒,允许电磁板将坐标压力信息发送给主机,至此主机和电磁板一起进入正常工作状态。
在本实施例中,上述两个输出信号pen_detect和sleep都可以通过电磁板和CPU的GPIO采集来判断它们的电平高低。而主机的唤醒延迟时间即为主机还处于休眠状态时,从主机检测到输出信号pen_detect为高电平的时刻起到电磁板检测到输出信号sleep为低电平的时刻的时间段。
在本步骤201中,举例而言,在电磁板和CPU均处于休眠状态,即电磁板的输出信号pen_detect为低电平且CPU的输出信号sleep为高电平的情况下,当电磁板检测手写输入时,电磁板被唤醒,向主机输出高电平的输出信号pen_detect。并检测接收的sleep信号是否为高电平,即判断主机是否处于休眠状态。若检测到接收的sleep信号为高电平,则进入步骤202,若检测到接收的sleep信号为低电平,则进入步骤203。
202、电磁手写系统获取并存储手写输入信息,并且向主机发送唤醒通知。返回步骤201。
举例而言,在电磁板被唤醒而主机未被唤醒时,电磁板以固定的周期获取手写输入轨迹上的采集点的坐标压力信息,并将该坐标压力信息作为手写输入信息进行存储。并且,可以再设置一个存储标志位,以标明存储空间中是否有需要向主机发送的坐标压力信息。例如,若存储空间中存储有需要向主机发送的坐标压力信息,则将该存储标志位设为1,否则,将该存储标志位设为0。当然,也可以通过其他方式来实现对存储空间内是否有需要向主机发送的坐标压力信息的标示。
并且,在存储手写输入信息时,可以对最初落笔点即手写输入轨迹的第一个点进行特殊处理,以供上层驱动处理。例如,可以在获取到最初落笔点的手写输入信息后,在所述最初落笔点的手写输入信息中添加最初落笔标志,存储所述添加有最初落笔标志的最初落笔点的手写输入信息。
另外,在电磁板获取并存储坐标压力信息的同时,电磁板持续向主机发送高电平的输出信号pen_detect,以使主机被唤醒。
203、电磁手写系统判断是否存储有手写输入信息。若判定存储有手写输入信息,则进入步骤204。否则,进入步骤205。
举例而言,在电磁板和主机均处于正常工作状态时,电磁板检测存储空间内是否有需要向主机发送的坐标压力信息。例如,电磁板检测存储标志位是否为1,若该存储标志位为1,则进入步骤204,若该存储标志位为0,则进入步骤205。
204、电磁手写系统向主机发送存储的手写输入信息。
举例而言,若电磁板判定存储空间内存储有需要向主机发送的坐标压力信息时,电磁板按照顺序向主机发送存储的坐标压力信息。
另外,若将存储的坐标压力信息全部一次性地发送给主机,则会影响下一周期采集新的采集点的坐标压力信息的时间。例如,根据对时序的分析,发送一个采集点的坐标压力信息的时间是3ms,采集一个采集点的坐标压力信息的时间是6ms,将20个采集点的坐标压力信息一次性地发送给主机需要60ms,这段时间实际可以采集10个新的采集点的坐标压力信息,因此,如果将20个采集点的坐标压力信息一次性地发送给主机,则会丢失10个新的采集点的坐标压力信息。因此,可以每次将两个采集点的坐标压力信息一起发送给主机,然后进行新的采集点的坐标压力信息的采集,直到存储空间的队列中存储的坐标压力全部发送给主机为止。
另外,在需要对最初落笔点进行特殊处理时,例如,需要对最初落笔点的坐标压力信息添加最初落笔标志,此时,在发送过程中,电磁板在每次发送前需要判断发送的坐标压力信息所对应的两个采集点中是否存在最初落笔点。若这两个采集点中存在最初落笔点,则电磁板本次只将该最初落笔点的坐标压力信息发送给主机。若这两个采集点中不存在最初落笔点,则将该这两个采集点的坐标压力信息一起发送给主机。
205、电磁手写系统将获取的手写输入信息直接输出到主机。
举例而言,若电磁板判定存储空间内不存在需要向主机发送的坐标压力信息时,电磁板在获取了采集点的坐标压力信息时,将该采集点的坐标压力信息直接输出到CPU。
本实施例所涉及的手写输入方法,通过在检测到手写输入时,获取并存储手写输入信息,向主机发送唤醒通知,并且,在接收到主机的唤醒响应后向主机发送存储的手写输入信息。因此,能够避免触屏终端的主机从休眠状态被唤醒时的手写输入信息的丢失,使主机在被唤醒后及时、准确并且完整地获取到手写输入信息并加以处理,从而提高用户的使用体验。
与上述方法相对应地,本发明实施例还提供一种手写输入装置,如图3所示,包括:
输入检测单元301,用于检测手写输入;
信息获取单元302,用于在所述输入检测单元301检测到手写输入时,获取手写输入信息;
信息存储单元303,用于在所述输入检测单元301检测到手写输入时,存储所述信息获取单元302获取的手写输入信息;
通知发送单元304,用于在所述输入检测单元301检测到手写输入时,向主机发送唤醒通知;
响应接收单元305,用于接收主机的唤醒响应;
信息发送单元306,用于在所述响应接收单元305接收到主机的唤醒响应后,向主机发送所述信息存储单元303存储的手写输入信息。
进一步地,所述信息存储单元303的大小是根据发点速度和主机的唤醒延迟时间进行设定的。
进一步地,所述信息存储单元303包括:
标志添加子单元,用于在最初落笔点的手写输入信息中添加最初落笔标志;
信息存储子单元,用于存储所述添加有最初落笔标志的最初落笔点的手写输入信息。
进一步地,所述信息发送单元306包括:
发送量确定子单元,用于根据预先设定的单位发送时间和单位采集时间,确定每次发送手写输入信息时的发送量;
信息发送子单元,用于根据所述发送量确定子单元确定的发送量,向主机发送所述信息存储单元303存储的手写输入信息。
进一步地,所述信息发送单元306,还用于在确定所述信息存储单元303存储的手写输入信息均已发送给主机后,将所述信息获取单元302当前获取的手写输入信息直接发送给主机。
本实施例的手写输入装置的具体工作方式可以参见上文所述的方法,在此不再赘述。
本实施例所涉及的手写输入装置,通过在检测到手写输入时,获取并存储手写输入信息,向主机发送唤醒通知,并且,在接收到主机的唤醒响应后向主机发送存储的手写输入信息。因此,能够避免触屏终端的主机从休眠状态被唤醒时的手写输入信息的丢失,使主机在被唤醒后及时、准确并且完整地获取到手写输入信息并加以处理,从而提高用户的使用体验。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。