1. 程式人生 > >通過DGUS觸控式螢幕實現長按、短按按鍵啟動不同功能的效果

通過DGUS觸控式螢幕實現長按、短按按鍵啟動不同功能的效果

DGUS中有一個功能,可能用的人不多,所以不太瞭解,叫“觸控式螢幕按壓狀態返回”。這個控制元件也是一個觸控控制元件,配合頁面上的按鈕來實現觸控功能。“觸控式螢幕按壓狀態返回”與普通的“基本觸控”的主要區別在於,它除了可以實現基本觸控的功能(按鍵效果,頁面切換)外,還可以判斷觸控的狀態。一次觸控操作一共包含3個狀態:按下,持續按壓,擡起。這三個階段結合起來就完成了一次完整的觸控操作。

“觸控式螢幕按壓狀態返回”控制元件可以幫助識別這三個階段,對於長按/短按來說,其實就是持續按壓時間長短,或者有沒有持續按壓狀態的區別了。在DGUS軟體中,可以選擇使用哪一種狀態,也可以對每一種狀態進行配置。配置內容簡單來說就是按下後上傳什麼數值,數值要上傳到哪裡去。下面是開發指南的截圖,大家可以參考。

舉例來說,如果我希望第一次按下時,螢幕給串列埠發一個1,告訴微控制器我按下了,那麼我就要先把資料1放在一個地址中存起來,這個地址是VP1S,假設VP1S是0x1000;然後在DGUS軟體中對應第一次按下的狀態(TP_ON_MODE)設定一下資料返回模式,其中,返回模式為0x02時,DGUS屏可以自動從一個地址中讀取指定長度的資料併發到串列埠,所以將模式設定為0x02即可。 通過這個功能,還可以將一個地址中儲存的資料轉移到其他地址中,這個功能對應了模式0x01。DGUS II產品中系統變數也是儲存在變數地址中的(與老DGUS不同,老DGUS是存在暫存器中的),所以通過這個控制元件也可以實現系統變數操作,例如讀版本號、讀AD值、讀/寫背光值、讀/寫RTC、切換/儲存頁面、控制音樂播放、啟動儲存器讀寫、載入JPEG影象等等等等。 同理,對於持續按壓模式和擡起模式也可以做類似的設定。微控制器可以根據返回的數值判斷按壓狀態、並執行相應的操作。