亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種滾球的實現(xiàn)方法

文檔序號:6462982閱讀:210來源:國知局
專利名稱:一種滾球的實現(xiàn)方法
技術(shù)領(lǐng)域
本發(fā)明涉及滾球的實現(xiàn)技術(shù),尤其涉及一種嵌入式領(lǐng)域及誤觸發(fā)事件頻繁 而規(guī)律少的事件領(lǐng)域中滾球的實現(xiàn)方法。
背景技術(shù)
滾球在嵌入式消費電子產(chǎn)品中雖然是新興產(chǎn)品,但是它使用靈活方便快速,
兼顧鼠標(biāo)鍵盤的雙重優(yōu)點,正越來越受到用戶的青睞。滾球由大球Ball和四個 小球Roller組成,那么我們平時滾動滾球?qū)嶋H上就是在滾動Ball,當(dāng)Ball滾動 時帶動其方向上的R0iier滾動,而R0iier的滾動會觸發(fā)其相對應(yīng)的霍爾元件產(chǎn)
生脈沖通過通用輸入/輸出接口 GPIO,從而在有關(guān)滾球的寄存器里會產(chǎn)生相應(yīng) 變化。這里,有關(guān)滾球的寄存器,比如GPIO寄存器位于滾球控制器中。
現(xiàn)有滾球、滾球控制器與CPU之間的連接示意圖如圖1、圖2所示。圖1、 圖2中皆包括CPU1、滾球控制器2和滾球3,滾球傳遞給滾球控制器的信號都 是狀態(tài)信號即UP/DOWN/LEFT/RIGHT。圖1與圖2的區(qū)別主要在于圖1的 滾球控制器2位于CPU1內(nèi)。也就是說圖1是CPU支持滾球器件的情況,圖2 是CPU根本不支持滾球器件,只能通過外部擴展達(dá)到對滾球器件支持的情況。 以圖2所示連接關(guān)系為例,具體來說,CPUl向滾球控制器2提供時鐘信號; CPUl向滾球控制器2提供控制信號,用于開啟滾球控制器;滾球控制器2向 CPUl提供中斷信號,并且CPUl收到該中斷信號后,會調(diào)用相應(yīng)的中斷處理 函數(shù)去讀取滾球控制器2傳來的GPIO電平變化。這里,該滾球控制器2傳來 的GPIO電平變化是由于滾珠移動引起霍爾元件感應(yīng)產(chǎn)生的GPIO電平變化。 另外,滾球控制器2還向CPUl反饋用戶的輸入/輸出信號。這里,滾球3和滾 球控制器2之間只存在滾球滾動所產(chǎn)生的狀態(tài)信號,該狀態(tài)信號實際上是霍爾元件產(chǎn)生脈沖反饋給滾球控制器2的。
由于滾球在使用中,除了會觸發(fā)霍爾元件產(chǎn)生UP/DOWN/LEFT/RIGHT方 向的脈沖作為狀態(tài)信號反饋給滾球控制器,還經(jīng)常會意外碰觸其它方向的霍爾 元件,從而觸發(fā)滾球其它方向上的波形形成誤觸發(fā)。目前從考慮改進(jìn)硬件結(jié)構(gòu) 的角度還無法將誤觸發(fā)的脈沖濾去,從而無法解決誤觸發(fā)帶來的不良影響,比 如本來向下操作滾球,結(jié)果由于其它方向的誤觸發(fā)波形,使得產(chǎn)生向左、或向 右,甚至向上的脈沖。

發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的在于提供一種滾球的實現(xiàn)方法,在兼容現(xiàn)有 硬件結(jié)構(gòu)的基礎(chǔ)上能避免誤觸發(fā),克服誤觸發(fā)帶來的不良影響。 為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的
一種滾球的實現(xiàn)方法,該方法包括將讀取的前次通用輸入/輸出接口 GPIO 值和本次GPIO值進(jìn)行異或操作后,獲得GPIO的電平變化;根據(jù)所述GPIO的 電平變化來判斷出本次滾球的操作方向。
其中,所述將讀取的前次GPIO值和本次GPIO值進(jìn)行異或操作具體為.-直接讀取與連接滾球四個霍爾元器件相對應(yīng)的GPIO寄存器,將所述GPIO寄 存器中,前次記錄的GPIO寄存器的值和本次GPIO寄存器的值進(jìn)行異或操作。
其中,所述將讀取的前次GPIO值和本次GPIO值進(jìn)行異或操作具體為 直接讀取GPIO電平值,將前次GPIO的電平值和本次GPIO的電平值進(jìn)行異或 操作。
其中,所述方法進(jìn)一步包括釆用從滾球的計數(shù)寄存器讀取出滾球滾動的 方向和大小的方式,來修正所述滾球的操作方向。
其中,所述修正滾球的操作方向進(jìn)一步包括統(tǒng)計5次GPIO的電平變化 發(fā)送滾球的鍵值,確定所述滾球的鍵值為所述5次GPIO的電平變化中出現(xiàn) GPIO的電平變化機率最大方向的鍵值。
其中,所述修正滾球的操作方向進(jìn)一步包括如果符合GPIO的電平變化次數(shù)>2;以及前兩個發(fā)送的是同值且和本值相同的條件,則確定本次滾球的滾 動方向和前次滾球的滾動方向 一致。
其中,所述修正滾球的操作方向進(jìn)一步包括如果3s定時器超時,則確定 接收完畢后,跳出接收循環(huán)。
由于滾球在操作時誤觸發(fā)頻繁,而且規(guī)律不明顯,因此目前從考慮改進(jìn)硬 件結(jié)構(gòu)的角度還無法將誤觸發(fā)形成的脈沖濾去。本發(fā)明是從軟件算法實現(xiàn)的角 度解決誤觸發(fā)的。具體來說,本發(fā)明將讀取的前次通用輸入/輸出接口 GPIO值 和本次GPIO值進(jìn)行異或操作后,獲得GPIO的電平變化;根據(jù)該GPIO的電平 變化來判斷出本次滾球的操作方向。采用本發(fā)明能在兼容現(xiàn)有硬件結(jié)構(gòu)的基礎(chǔ) 上能避免誤觸發(fā),克服誤觸發(fā)帶來的不良影響。
進(jìn)而,采用實現(xiàn)滾球功能的基本算法以及解決滾球誤觸發(fā)的優(yōu)化算法相糅 合的方式,來避免誤觸發(fā)。采用本發(fā)明在實現(xiàn)滾球功能基本算法的基礎(chǔ)上,進(jìn) 一步優(yōu)化滾球的實現(xiàn),更好地避免誤觸發(fā)。并且,本發(fā)明還采用實現(xiàn)滾球功能 的基本算法,以及解決滾球靈敏度、準(zhǔn)確度和響應(yīng)速度的優(yōu)化算法相糅合的方 式,來改善滾球的靈敏度、準(zhǔn)確度和響應(yīng)速度。采用本發(fā)明解決了滾球的響應(yīng) 速度與靈敏度和準(zhǔn)確性的矛盾,能實現(xiàn)滾球快速響應(yīng)、準(zhǔn)確和穩(wěn)定地滾動。另 外,釆用實現(xiàn)滾球功能的基本算法,解決滾球誤觸發(fā)的優(yōu)化算法,以及解決滾 球靈敏度、準(zhǔn)確度和響應(yīng)速度的優(yōu)化算法相糅合的方式,不僅可以避免誤觸發(fā), 而且還可以解決滾球的響應(yīng)速度與靈敏度和準(zhǔn)確性的矛盾,實現(xiàn)滾球快速響應(yīng)、 準(zhǔn)確和穩(wěn)定地滾動。


圖l為現(xiàn)有滾球、滾球控制器與CPU之間的一連接示意圖; 圖2為現(xiàn)有滾球、滾球控制器與CPU之間的另一連接示意圖; 圖3為本發(fā)明原理實現(xiàn)的流程示意圖。
具體實施例方式
本發(fā)明的核心思想是本發(fā)明將讀取的前次通用輸入/輸出接口 GPIO值和 本次GPIO值進(jìn)行異或操作后,獲得GPIO的電平變化;才艮據(jù)該GPIO的電平變 化來判斷出本次滾球的操作方向。采用本發(fā)明能在兼容現(xiàn)有硬件和結(jié)構(gòu)的基礎(chǔ) 上能避免誤觸發(fā),克服誤觸發(fā)帶來的不良影響。
下面結(jié)合附圖對技術(shù)方案的實施作進(jìn)一步的詳細(xì)描述。 如圖3所示, 一種滾球的實現(xiàn)方法,該方法包括以下步驟 步驟101、將讀取的前次GPIO值和本次GPIO值進(jìn)4于異或操作后,獲得 GPIO的電平變化。
步驟102、根據(jù)該GPIO的電平變化來判斷出本次滾球的操作方向。 這里,為了達(dá)到更好的效果,上述步驟102中還可進(jìn)一步包括采用從滾 球的計數(shù)寄存器讀取出滾球滾動的方向和大小的方式,來修正所述滾球的操作 方向。使用這種方式進(jìn)行修正,可以使得滾球的操作方向減少部分錯誤。
其中,上述步驟101中,將讀取的前次GPIO值和本次GPIO值進(jìn)行異或 操作包括兩種情況。第一種情況是當(dāng)硬件結(jié)構(gòu)采用如圖1所示的滾球、滾球 控制器與CPU之間的連接時,所述將讀取的前次GPIO值和本次GPIO值進(jìn)行 異或操作具體為直接讀取與連接滾球四個霍爾元器件相對應(yīng)的GPIO寄存器, 將所述GPIO寄存器中,前次記錄的GPIO寄存器的值和本次該GPIO寄存器的 值進(jìn)行異或操作。從而根據(jù)該異或操作獲得GPIO的電平變化。這里,由于不 同的GPIO對應(yīng)不同的UP/DOWN/LEFT/RIGHT操作,那么根據(jù)GPIO的電平 變化能判斷出GPIO中,具體哪一個GPIO有變化,從而能判斷出本次滾球的 操作方向。第二種情況是當(dāng)硬件結(jié)構(gòu)采用如圖2所示的滾球、滾球控制器與 CPU之間的連接時,所述將讀取的前次GPIO值和本次GPIO值進(jìn)行異或才喿作 具體為直接讀取GPIO電平值,將前次GPIO的電平值和本次GPIO的電平值 進(jìn)行異或操作。從而根據(jù)該異或操作獲得這段時間內(nèi)GPIO的電平變化,也能 判斷出本次滾球的操作方向。這里,需要指出的是,以上所描述的滾球的實現(xiàn)方法都是實現(xiàn)滾球功能的 基本算法。以下對實現(xiàn)滾球功能的優(yōu)化算法進(jìn)行闡述。
優(yōu)化算法一為解決滾球誤觸發(fā)的優(yōu)化算法。由于滾球在操作時誤觸發(fā)頻 繁、規(guī)律不明顯,從考慮硬件結(jié)構(gòu)的角度還無法解決該問題,本發(fā)明是從軟件 算法實現(xiàn)的角度解決誤觸發(fā)的,軟件算法的實現(xiàn)采用統(tǒng)計學(xué)算法。經(jīng)過驗證, 采用本優(yōu)化算法,即統(tǒng)計5次GPIO的電平變化發(fā)送一個滾球的鍵值,確定所 發(fā)送的滾球的鍵值為所述5次GPIO的電平變化中,出現(xiàn)GPIO的電平變化 機率最大的那一個方向的鍵值。那么,采用上述實現(xiàn)滾球功能的基本算法,以 及解決滾球誤觸發(fā)的優(yōu)化算法相糅合的方式,在實現(xiàn)滾球功能基本算法的基礎(chǔ) 上,進(jìn)一步優(yōu)化滾i^的實現(xiàn),更好地避免誤觸發(fā)。
優(yōu)化算法二為解決滾球靈敏度、準(zhǔn)確度和響應(yīng)速度的優(yōu)化算法。由于僅 采用優(yōu)化方法一會使用戶覺得滾球反應(yīng)不夠靈敏,而滾球反應(yīng)靈敏又會影響滾 球統(tǒng)計值的準(zhǔn)確性,那么為了保證滾球快速響應(yīng)又能準(zhǔn)確,經(jīng)過驗證,采用本 優(yōu)化算法,即如果符合GPIO的電平變化次數(shù)>2;以及前兩個發(fā)送的是同值且 和本值相同的條件,這里所謂同值指滾球的鍵值相同,則確定本次滾球的滾動 方向和前次滾球的滾動方向一致。此時可以讓接收滾球的滾動次數(shù)減少,從而 增加滾球的靈敏性及速度。也就是說,采用實現(xiàn)滾球功能的基本算法,以及解 決滾球靈敏度、準(zhǔn)確度和響應(yīng)速度的優(yōu)化算法相糅合的方式,能改善滾球的靈 敏度、準(zhǔn)確度和響應(yīng)速度。
優(yōu)化算法三為也是解決滾球靈敏度、準(zhǔn)確度和響應(yīng)速度的優(yōu)化算法。經(jīng) 過驗證,采用本優(yōu)化算法,即如果3s定時器超時,則確定接收完畢后,跳出接 收循環(huán)。這樣,可增加滾球的速度,同時在滾球的發(fā)送條件上加以限制可以保 證滾球的準(zhǔn)確性。也就是說,采用實現(xiàn)滾球功能的基本算法,以及解決滾球靈 敏度、準(zhǔn)確度和響應(yīng)速度的優(yōu)化算法相糅合的方式,能改善滾球的靈敏度、準(zhǔn) 確度和響應(yīng)速度。
這里,需要指出的是,將實現(xiàn)滾球功能的基本算法,解決滾球誤觸發(fā)的優(yōu) 化算法,以及與上述解決滾球靈敏度、準(zhǔn)確度和響應(yīng)速度的優(yōu)化算法中的至少一個算法相糅合,不僅可以避免誤觸發(fā),而且還可以解決滾球的響應(yīng)速度與靈 敏度和準(zhǔn)確性的矛盾,實現(xiàn)滾球快速響應(yīng)、準(zhǔn)確和穩(wěn)定地滾動。舉例來說,可
以將實現(xiàn)滾球功能的基本算法,優(yōu)化算法一與優(yōu)化算法二相糅合;將實現(xiàn)滾球 功能的基本算法,優(yōu)化算法一與優(yōu)化算法三相糅合;將實現(xiàn)滾球功能的基本算 法,優(yōu)化算法一,優(yōu)化算法二與優(yōu)化算法三相糅合。
方法實施例在不改變現(xiàn)有硬件連接的基礎(chǔ)之上,采用實現(xiàn)滾球功能的基 本算法以及優(yōu)化算法一、優(yōu)化算法二和優(yōu)化算法三相糅合的方式,克服誤觸發(fā) 頻繁且規(guī)律少的現(xiàn)象,從而實現(xiàn)滾球快速、準(zhǔn)確、穩(wěn)定的滾動。上述優(yōu)化算法 體現(xiàn)在滾球接收跳出算法以及滾球鍵值發(fā)送條件算法中。具體來說,優(yōu)化算法 一對應(yīng)滾球接收跳出算法的①,以及滾球鍵值發(fā)送條件算法的①;優(yōu)化算法二 對應(yīng)滾球接收跳出算法的②,以及滾球4建值發(fā)送條件算法的②;優(yōu)化算法三對 應(yīng)滾球接收跳出算法的③,以及滾球鍵值發(fā)送條件算法的③。以下對本實施例 的具體處理流程進(jìn)行闡述。
這里,針對滾球的初始化而言,滾球的初始化流程包括以下步驟 步驟201、預(yù)先定義滾球相關(guān)的GPIO,以及預(yù)先設(shè)置滾球控制器的相關(guān)控 制配置;CPU設(shè)置滾球GPIO的開中斷。
步驟202、判斷注冊滾球中斷函數(shù)是否成功,如果成功,則執(zhí)行步驟203; 否則,結(jié)束當(dāng)前滾i^的初始化流程。
步驟203、給滾球分配空間,判斷分配滾球事件結(jié)構(gòu)體空間是否成功,如 果成功,則執(zhí)行步驟204;否則,結(jié)束當(dāng)前滾球的初始化流程。
步驟204、創(chuàng)建并初始化完成(completion)事件,同步滾球信號。 步驟205、創(chuàng)建滾球的內(nèi)核線程,判斷創(chuàng)建滾球內(nèi)核線程是否成功,如果 成功,則執(zhí)行步驟206;否則,結(jié)束當(dāng)前滾球的初始化流程。
步驟206、等待completion同步信號;結(jié)束當(dāng)前滾球的初始化流程。 這里,針對滾球的中斷處理而言,滾球的中斷處理流程包括步驟當(dāng)有中 斷信號過來時,檢查并判斷是否為滾球中斷信號,如果是,則給滾球線程發(fā)信 號,進(jìn)行后續(xù)的滾球線程處理流程,否則不進(jìn)行后續(xù)的滾球線程處理流程。這里,針對滾球線程處理而言,滾球線程處理包括線程初始化、由死循環(huán)
構(gòu)成的滾球處理程序及退出線程的處理。那么滾球線程處理包括以下步驟 步驟301、初始化定時器和信號量。
這里,定時器使得滾球不能長時間運行在死循環(huán)中,在到達(dá)一定預(yù)設(shè)時間 后就跳出。以10ms定時器為例,在達(dá)到10ms后滾5求就跳出。信號量用于接收 由中斷發(fā)來的信號。
步驟302、釋放滾球線程的用戶空間,使得該線程只能運行于內(nèi)核空間中。
步驟303、重新初始化線程空間。
步驟304、鎖定當(dāng)前任務(wù)的信號掩碼鎖。
步驟305、設(shè)置殺死信號(SIGKILL)非阻塞,重新計算懸掛的信號數(shù)。
這里的兩項操作都需要信號鎖鎖定。
步驟306、喚醒滾球的等待線程。
步驟307、進(jìn)入由死循環(huán)構(gòu)成的滾球處理程序。
步驟308、在接收到SIGKILL信號后,進(jìn)行退出線程的處理。并在模塊退 出時釋放線程在內(nèi)核所占用的內(nèi)存空間。
這里,具體來說,退出線程的處理即為刪除10ms定時器,退出completion 同步。從而結(jié)束當(dāng)前滾球線程處理的流程。
這里需要指出的是,上述由步驟301 ~步驟306構(gòu)成的流程即為線程初始 化的流程。上述步驟307即為滾球的死循環(huán)處理,這是線程啟動初始化后,滾 J求處理的i也方。
這里,針對滾^l的死循環(huán)處理而言,滾球的死循環(huán)處理流程包括以下步驟 步驟401、使能滾球中斷,對滾球線程處理模塊中初始化的10ms定時器定 時10ms。
步驟402、等待接收中斷處理函數(shù)發(fā)來的滾球信號,當(dāng)收到滾球信號時就 到信號懸掛隊列中讀取,判斷當(dāng)前任務(wù)中是否有待處理信號,如果是,即隊列 不為空,則執(zhí)行步驟403;否則,對列為空,則轉(zhuǎn)入執(zhí)行步驟401。
步驟403、屏蔽滾球中斷,延時4ms防抖動,通過異或前次GPIO電平和本次GPIO電平來計算各GPIO的本次電平變化。
步驟404、定時3s使得滾球在處理一定的中斷數(shù)后能夠跳出死循環(huán),加快 滾球的速度。
步驟405、延時4ms,如步驟403中通過異或前次GPIO電平和本次GPIO 電平來計算各GPIO的本次電平變化,重新計算滾球各GPIO的電平變化,以 及滾球各GPIO電平變化凄t和脈寬。
步驟406、以5個統(tǒng)計值作為滾球模塊最初電平變化參照;取得滾球方向 最大值。
步驟407、判斷滾球GPIO的電平變化是否滿足滾球接收跳出算法,如果是, 則執(zhí)行步驟408;否則,轉(zhuǎn)入執(zhí)行步驟405。
這里,也可以理解為滾J斜艮據(jù)是否符合滾球接收跳出算法,來決定是轉(zhuǎn) 入執(zhí)行步驟405繼續(xù)接收滾球GPIO的電平變化,還是繼續(xù)往下執(zhí)行滾球的其 他處理操作。
步驟408、判斷滾球GPIO的電平變化是否滿足斜方向滾動算法,如果是, 則保存滾球的斜方向后執(zhí)行步驟409;否則,直接執(zhí)行步驟409。
步驟409、判斷滾球GPIO的電平變化是否滿足滾球鍵值發(fā)送條件算法,如 果是,則保存前次及本次滾球的發(fā)送值方向,將滾球各方向的鍵值清0,給滾 球GPIO的電平變化最多的方向賦最大方向的4定值,執(zhí)行步驟410;否則,轉(zhuǎn)入 執(zhí)行步驟412。
步驟410、判斷滾球次最大方向是否存在,如果是,則賦值滾球次最大方 向后執(zhí)行步驟411;否則,直接執(zhí)行步驟411。
步驟411、發(fā)送滾球滾動鍵值及或滾球的釋放鍵值,清0定時器10ms超 時標(biāo)志。
步驟412、設(shè)置當(dāng)前任務(wù)狀態(tài)可中斷,調(diào)度超時30ms后執(zhí)行步驟401。 以下對上述滾球的死循環(huán)處理流程中涉及到的算法進(jìn)行闡述。 針對滾球接收跳出算法而言,以下所選用的各優(yōu)化算法是并列的關(guān)系。 ①GPIO的電平變化次數(shù)〉-5時,跳出本次循環(huán),不再接收滾球各GPIO電平變化,改為執(zhí)行滾球的其它操作。這是滾球的接收跳出的最基本算法,其他 都是在此基礎(chǔ)上的優(yōu)化算法,以解決快速與準(zhǔn)確性的矛盾,達(dá)到靈敏準(zhǔn)確穩(wěn)定 的操作結(jié)果。
② 當(dāng)滾球最大值>2;以及前兩個發(fā)送的是同值且和本值相同時可以跳出本 次循環(huán),執(zhí)行滾球的其它操作。其中滾球最大值>2是為了加快滾球的速度,畢 竟若每次都采用GPIO的電平變化次數(shù)>=5時,跳出本次循環(huán)的條件,會使得 滾球反應(yīng)比較慢。而前兩個發(fā)送的是同值且和本值相同的條件是為了保證滾球 的準(zhǔn)確性及穩(wěn)定性。
③ 當(dāng)3s定時器超時可以跳出本次循環(huán),執(zhí)行滾球的其它操作。本條件是為 了加快滾球的速度。
這里,針對斜方向滾動算法而言,以下所選用的各優(yōu)化算法也是并列的關(guān)系。
① 當(dāng)滾球最大值〉2;以及滾球其次最大值與滾球最大值相差<2且GPIO的 電平變化次數(shù)>3時認(rèn)為滾球發(fā)生了斜方向的滾動。
② 當(dāng)滾球最大值-5且滾球其次最大值與滾球最大值相差=2時也認(rèn)為滾球 發(fā)生了斜方向的滾動。
這里,針對滾球鍵值發(fā)送條件算法而言,以下所選用的各優(yōu)化算法也是并 列的關(guān)系。旨在增加滾球的準(zhǔn)確性、穩(wěn)定性,以及在按滾球確認(rèn)時的防抖動。
① GPI0的電平變化次數(shù)>=5還是可發(fā)送的基礎(chǔ)條件。
② GPI0的電平變化次數(shù)>2且前兩個發(fā)送的是同值且和本值相同時,對應(yīng) 滾球接收跳出算法的第2步,即滾球接收跳出算法的②。
③ GPI0的電平變化次數(shù)>2且超過定時10ms的條件,對應(yīng)滾球處理程序中 的10ms定時器,即步驟308。
以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護(hù)范圍。
權(quán)利要求
1、一種滾球的實現(xiàn)方法,其特征在于,該方法包括將讀取的前次通用輸入/輸出接口GPIO值和本次GPIO值進(jìn)行異或操作后,獲得GPIO的電平變化;根據(jù)所述GPIO的電平變化來判斷出本次滾球的操作方向。
2、 根據(jù)權(quán)利要求1所述的實現(xiàn)方法,其特征在于,所述將讀取的前次GPIO 值和本次GPIO值進(jìn)行異或操作具體為直接讀取與連接滾球四個霍爾元器件 相對應(yīng)的GPIO寄存器,將所述GPIO寄存器中,前次記錄的GPIO寄存器的值 和本次GPIO寄存器的值進(jìn)行異或操作。
3、 根據(jù)權(quán)利要求1所述的實現(xiàn)方法,其特征在于,所述將讀取的前次GPIO 值和本次GPIO值進(jìn)行異或操作具體為直接讀取GPIO電平值,將前次GPIO 的電平值和本次GPIO的電平值進(jìn)行異或操:作。
4、 根據(jù)權(quán)利要求1至3中任一項所述的實現(xiàn)方法,其特征在于,所述方法 進(jìn)一步包括采用從滾球的計數(shù)寄存器讀取出滾球滾動的方向和大小的方式, 來修正所述滾球的操作方向。
5、 根據(jù)權(quán)利要求4所述的實現(xiàn)方法,其特征在于,所述修正滾球的操作方 向進(jìn)一步包括統(tǒng)計5次GPIO的電平變化發(fā)送滾球的鍵值,確定所述滾球的 鍵值為所述5次GPIO的電平變化中出現(xiàn)GPIO的電平變化機率最大方向的 鍵值。
6、 根據(jù)權(quán)利要求4所述的實現(xiàn)方法,其特征在于,所述修正滾球的操作方 向進(jìn)一步包括如果符合GPIO的電平變化次數(shù)>2;以及前兩個發(fā)送的是同值 且和本值相同的條件,則確定本次滾球的滾動方向和前次滾3求的滾動方向一致。
7、 根據(jù)權(quán)利要求4所述的實現(xiàn)方法,其特征在于,所述修正滾球的搡作方 向進(jìn)一步包括如果3s定時器超時,則確定接收完畢后,跳出接收循環(huán)。
全文摘要
本發(fā)明公開了一種滾球的實現(xiàn)方法,該方法包括將讀取的前次通用輸入/輸出接口GPIO值和本次GPIO值進(jìn)行異或操作后,獲得GPIO的電平變化;根據(jù)所述GPIO的電平變化來判斷出本次滾球的操作方向。采用本發(fā)明能在兼容現(xiàn)有硬件結(jié)構(gòu)的基礎(chǔ)上能避免誤觸發(fā),克服誤觸發(fā)帶來的不良影響。
文檔編號G06F3/033GK101593047SQ20081010018
公開日2009年12月2日 申請日期2008年5月28日 優(yōu)先權(quán)日2008年5月28日
發(fā)明者劉艷玲 申請人:中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1