DWIN迪文串口屏開發
工作中一個項目甲方要求使用DWIN迪文串口屏進行開發,因為一直沒有用過這種類型的串口屏,所以簡單記錄一下開發過程。
1 開發環境搭建
1.1 軟件
使用DWIN DGUS V5.08版本,在網上能下載到DWIN DGUS V5.04版本,但沒有找到V5.08版本,通過聯絡DWIN迪文官方淘寶店客服獲取到了最新的V5.08版本。廠家的服務比較好,雖然屏不是直接在他那里買的,也提供了良好的技術支持。DWIN DGUS的軟件界面比較復古,仿佛回到了WindowsXP以前的時代,迪文串口屏的內置開機畫面也是Windows2000的畫風,可能是我手里這塊屏太老舊了。

1.2 硬件
甲方提供的型號為DMT10600K070_03WT的K600+內核的DWIN迪文串口屏,從迪文的官方網站上了解到,這款屏應該是不支持OS的早期標准串口屏,現在的都是帶OS可以獨立運行程序的多核產品了。

1.3 程序下載
迪文屏的開發似乎非常簡單,只需要用DGUS配置好以后,通過SD卡下載到屏幕即可。實際操作中卻覺得很麻煩,首先要找到合適的SD卡和讀卡器,SD卡不能太大(小於32GB),要將SD卡片按指定格式化,不能使用右鍵快速格式化。
format/q g:/fs:fat32/a:4096
Windows CMD窗口輸入以上命令,其中g:為SD卡實際盤符,根據實際需求修改。
然后用DGUS建立工程,左側導入圖片,圖片命名為00-xxx.bmp,01-xxx.bmp,等等,00為序號,xxx為文件名。屏幕上電后默認顯示編號為00的圖片,如果沒有編號為00的圖片,則開機顯示不正常。

點擊“生成”,把工程目錄下的DWIN_SET文件夾,拷貝到SD卡根目錄下。再把SD卡插到屏幕上,屏幕會先藍屏,再依次顯示編號00,01,02的圖片,再固定顯示編號00的圖片。至此,程序下載完成。
2 開機界面
要求開機顯示開機界面,3秒種后自動切換到工作界面。
2.1 命令切換
如上所述,開機后屏幕固定顯示編號00的圖片,可以使用00號圖片作為開機界面,但從DGUS設置上,沒有找到可以延時自動切換到其他界面的功能。查閱數據手冊,可以通過寫配置寄存器的方法來切換界面。
![]()
這樣通過單片機開機延時一段時間后,通過串口向屏幕發送命令5A A5 04 80 03 00 01,向0x03號寄存器寫數據0x00 0x01,將顯示切換到01號圖片。調試的時候可以使用DGUS提供的串口助手發送此命令。

2.2 手動切換
雖然沒有找到自動延時切換的方法,但可以使用手動切換。可使用“基本觸控”或者“按鍵返回”功能,這里使用“基本觸控”功能即可,如果開機未到3秒時間,可以點擊屏幕區域,手動切換到工作界面。“按鍵返回”功能,則可以將數據上傳給單片機,通知單片機進行了觸控操作。

3 數據顯示
人機界面的重要功能就是把數據直觀地顯示出來,通過“數據變量顯示”功能來實現。

添加“數據變量顯示”功能塊,地址為0000,設置好顯示大小、顏色,數據類型、位數等參數。通過串口“寫變量到數據地址”,即可將數據顯示到界面上。

4 數據輸入
人機界面的要解決的另一個問題就是數據的輸入,使用“變量數據錄入”功能,配合數字小鍵盤實現數據輸入。

添加“變量數據錄入”功能塊,在點擊此功能塊區域的時候,會啟動變量輸入功能。

幾個主要的參數要設置:
顯示位置:鍵盤輸入的時候,輸入的數據顯示的位置,這個位置要設置在鍵盤的數據顯示的地方,方向從右向左顯示;
鍵盤區域:鍵盤體的區域;
顯示位置:鍵盤顯示區域的左上角坐標。

鍵盤鍵值設置,按照DGUS軟件的提示,為小鍵盤的每一個鍵添加“基礎觸控”並指定鍵值

“變量數據錄入”功能塊的地址可設置為“數據變量顯示”功能塊相同的地址,如0x0000,這樣數據錄入后,按確認鍵,變量顯示也會更新。
另外如果 “變量數據錄入”功能塊參數設置中,勾選“數據自動上傳”,數據錄入后,按確認鍵,屏幕會將數據通過串口上傳至單片機,通知單片機數據更新。實際操作的時候,發現還要在“系統配置”中勾選“觸摸屏錄入參數后自動上傳到串口”才可以。

5 總結
至此,完成了開發環境建立、程序下載、數據顯示和數據錄入的功能,余下的就是具體的業務開發了。
迪文屏的開發主要就是切換圖片和讀寫各種地址變量,界面全靠一張張圖片,沒有按鈕、編輯框這樣的控件概念。雖然和常用的嵌入式GUI開發方式不同,很多功能甚至需要通過一些很奇怪的技巧來實現,但,怎么說呢,貴在簡單吧。
