串口屏開發(fā)的幾個(gè)技巧
使用迪文24位色(H600內(nèi)核)串口屏的幾個(gè)開發(fā)技巧和大家分享一下:
1. 顯示HEX參數(shù)
有一條0xC108的參數(shù)顯示指令,可以不用再進(jìn)行煩人的HEX到ASCII轉(zhuǎn)換計(jì)算和顯示格式轉(zhuǎn)換,比如字體大小,顯示幾位小數(shù)點(diǎn),無(wú)效的零顯示不顯示等,只要把顯示的HEX數(shù)據(jù)發(fā)給迪文屏就可以了。
0xC108指令的另外一個(gè)用途就是特別多參數(shù)(比如一屏顯示200個(gè)參數(shù))顯示時(shí),可以同時(shí)顯示出來(lái),避免了一個(gè)個(gè)蹦出來(lái)的效果。
2. 指針表盤
做一個(gè)表盤的底圖和一個(gè)指針的底圖,利用0x9E圖標(biāo)旋轉(zhuǎn)指令讓(多個(gè))指針在表盤底圖上指定角度和中心旋轉(zhuǎn),可以設(shè)計(jì)出非常漂亮的指針表盤,比如汽車儀表板、時(shí)鐘、旋轉(zhuǎn)的馬達(dá)等。
3. 曲線縮放
0xC106指令可以讓用戶指定X軸取樣間隔、Y軸放大倍數(shù)和零點(diǎn)位置,而迪文屏自動(dòng)對(duì)數(shù)據(jù)進(jìn)行處理,實(shí)現(xiàn)曲線自動(dòng)縮放,用戶只需把A/D的結(jié)果傳送給迪文屏就OK了。
0xC106指令的另外一個(gè)用途就是通過(guò)修改顯示的指針,可以很方便實(shí)現(xiàn)歷史記錄回放,對(duì)RAM緩沖區(qū)小的單片機(jī)尤其適合。
4. 觸摸屏界面自動(dòng)切換
使用觸控界面開發(fā)工具(集成在迪文串口調(diào)試助理里面),可以事先安排好觸摸屏界面的操控邏輯,把生成的配置文件下載到迪文屏0x1E字庫(kù)位置,并使用0xE0(0xE3)指令修改Para1.5=1啟用觸控模式,那么觸摸屏界面間的切換將無(wú)須用戶代碼操心了。
在需要用戶代碼干涉的界面觸發(fā)按鈕下綁定一個(gè)“回傳代碼”,可以在界面切換需要用戶代碼干涉時(shí)自動(dòng)回傳預(yù)設(shè)的代碼。
5. 觸摸屏錄入
凡是開發(fā)過(guò)GUI的大蝦們都清楚,參數(shù)錄入是個(gè)讓大家頭大的事情,尤其是當(dāng)參數(shù)錄入時(shí),軟件其它功能還要正常更不容易。迪文觸摸屏有條0x7C指令讓觸摸屏錄入非常簡(jiǎn)單。0x7C01是對(duì)ASCII字符(比如參數(shù)設(shè)定)的錄入,0x7C02是ASCII和中文GBK拼音的混合錄入。
發(fā)送0x7C指令告訴迪文屏啟動(dòng)指定參數(shù)錄入后,用戶代碼就不用管了,錄入結(jié)束后,迪文屏?xí)詣?dòng)上傳指令告訴用戶代碼錄入的是哪個(gè)參數(shù),錄入內(nèi)容是什么。由于迪文屏按照多任務(wù)來(lái)處理0x7C指令,錄入期間,用戶代碼可以正常操作迪文屏其它功能(比如曲線照常變化),不會(huì)因?yàn)殇浫攵袛唷?span lang="EN-US">
GBK拼音錄入其實(shí)是基于預(yù)裝在迪文屏0x01位置的詞庫(kù)實(shí)現(xiàn),用戶可以通過(guò)修改詞庫(kù)來(lái)實(shí)現(xiàn)對(duì)一些特殊符號(hào)的快速錄入,比如迪文預(yù)裝詞庫(kù)就設(shè)計(jì)了用"BD"來(lái)錄入所有全角標(biāo)點(diǎn)符號(hào)。
6. 需要經(jīng)常重復(fù)執(zhí)行的指令(比如動(dòng)畫顯示)
使用0x9A自動(dòng)指令組執(zhí)行來(lái)實(shí)現(xiàn)。
7. 時(shí)鐘的使用
0x9B指令可以把時(shí)鐘按照指定的字體大小和顏色自動(dòng)疊加顯示在界面的指定位置;
0x9B指令還可以回讀當(dāng)前時(shí)鐘,包括公歷和陰歷(農(nóng)歷)時(shí)間;
0xE7指令可以修改時(shí)鐘。
8. 視角的調(diào)整
通過(guò)0xE0(0xE3)指令調(diào)整Para1.2和Para2.5,可以實(shí)現(xiàn)4種不同視角(0/90/180/270旋轉(zhuǎn))的軟件調(diào)整,以適應(yīng)不同的應(yīng)用。
9. 不要高頻度重復(fù)顯示
盡管迪文屏的處理速度已經(jīng)非??欤?span lang="EN-US">800×600分辨率,1秒可以全屏顯示18幅圖片或10萬(wàn)個(gè)16×16的漢字),但是由于指令集極其精簡(jiǎn),致使通信時(shí)間遠(yuǎn)低于處理時(shí)間,高頻度重復(fù)顯示,可能還是會(huì)導(dǎo)致串口緩沖區(qū)溢出(迪文屏最多可緩沖24個(gè)未處理的串口數(shù)據(jù)幀)而丟幀,引起顯示錯(cuò)誤。
簡(jiǎn)單辦法是檢測(cè)硬件BUSY信號(hào)或者合理速度(比如100mS以上間隔)的全部刷新界面所有活動(dòng)內(nèi)容一次。
10. 一定要請(qǐng)專業(yè)美工設(shè)計(jì)界面
對(duì)于迪文屏真24位色顯示(比一般DVI接口的顯示器顯示效果還棒),如果不請(qǐng)個(gè)專業(yè)美工幫助設(shè)計(jì)界面,那實(shí)在是浪費(fèi)。有個(gè)大概輪廓,請(qǐng)專業(yè)美工幫忙的開銷并不大(大約30-200人民幣/頁(yè)面,一般產(chǎn)品也就10來(lái)個(gè)頁(yè)面),讓產(chǎn)品的GUI超級(jí)炫,這個(gè)錢花得絕對(duì)值。
詳情請(qǐng)咨詢北京迪文科技有限公司
熱線電話:400-018-9008
技術(shù)支持:support@dwin.com.cn
產(chǎn)品申請(qǐng):sales@dwin.com.cn
網(wǎng) 址:www.dwin.com.cn
祝您工作愉快,生活幸福