,是一款7寸800*480分辨率的電容觸摸屏。MODBUS已經是廣泛的工業(yè)協(xié)議,所以迪文已經提前編譯了各個串口的MODBUS協(xié)議棧程序了,用戶需要替換對應的DWINOS程序以及按要求下載指令配置文件即可。">

色猫咪av在线网址_91精品国产福利在线观看雪梨还会玩转热点_丁香花的视频免费观看_国产手机在线A∨免费视频_十八禁av无码免费网站APP_综合色一区二区亚洲_日韩精品小电影_漂亮人妻熟睡中被公侵犯_全新成人高清无码片_高级厕所偷窥白领美女嘘嘘

當前位置: 首頁 >應用方案 >技術應用 >

迪文串口屏基礎GUI開發(fā)流程案例詳解

一、串口屏簡介

手頭有一款閑置串口屏,其型號為<DMG80480C070_15WTR>,是一款7寸800*480分辨率的電容觸摸屏。這款屏幕是支持6~36V供電的,自帶3個串口輸出,分別是UART2, UART4, UART5。其中UART2和UART4是RS232接口的,UART2也作為系統(tǒng)默認的調試串口,UART5是RS485接口的,但UART4和UART5都需要對系統(tǒng)的OS核做修改才能使用。迪文的資料較為混亂,花費了大量的時間研究。

1  迪文串口屏GUI開發(fā)流程

首先:迪文芯片分為T5和T5L系列,并不兼容,在T5L內同時分為T5L0\T5L1\T5L2,但在官網最新的<迪文 T5L ASIC 應用開發(fā)指南.pdf>版本為V1.1,這一參考資料中,僅描述了T5L1以及T5L2系列,這個區(qū)別主要是屏幕顯示分辨率和存儲扇區(qū)以及單個文件大小的限制方面有區(qū)別。

2  迪文串口屏GUI開發(fā)流程

通過查看迪文給出的手冊得知此款屏幕采用的迪文自研的T5L0芯片,但不知為何手上這款雖然型號相同,但在程序更新時顯示的則是T5L1,與手冊標注并不相同。但在開發(fā)過程中選擇T5L0或是T5L1沒有區(qū)別,也可能是沒有達到等級的分水嶺。

其次:如手冊所說,T5L是單芯雙核,指的是芯片內部是兩個單獨的8051核心,分別是GUI核和OS核,兩個核心對應的功能不同,開發(fā)方式也截然不同,這點需要特別注意。GUI核運行迪文自己的DGUS Ⅱ系統(tǒng),使用迪文推出的<DWIN DGUS Ⅱ>上位機軟件進行開發(fā),OS核可以由用戶自己開發(fā)功能或使用迪文提供的基本功能示例,但遇見復雜情況還是無法滿足需求,需要用戶自己編寫處理邏輯,有兩種開發(fā)方式可選:一是標準C代碼,二是匯編指令開發(fā),可以采用KEIL或迪文推出的< DWIN C Complier>進行8051內核OS代碼的開發(fā),KEIL開發(fā)需要安裝迪文提供的驅動包< KEIL AGDI T5 >。

二、串口屏GUI開發(fā)需求

使用這款屏幕的目標是:

a)、作為主機進行MODBUS通信;

b)、讀取指定從機數據并顯示到屏幕中的指定變量;

c)、支持下發(fā)參數至從機MODBUS寄存器;

d)、使用RS485接口;

從需求來看,需要做的事情可以分為兩個部分,一是UI數據的顯示,迪文的DGUS Ⅱ采用的方式是用事先設計好的圖片做背景,所有的操作均以圖片為基礎進行布局、顯示和觸摸,這就需要提前設計好整個系統(tǒng)的UI原型和交互流程。二則是MODBUS數據交互,數據交互已經超出了GUI核的處理范圍,所以需要進行OS核的代碼編寫,因為MODBUS已經是廣泛的工業(yè)協(xié)議,所以迪文已經提前編譯了各個串口的MODBUS協(xié)議棧程序了,用戶需要替換對應的DWINOS程序以及按要求下載指令配置文件即可。

三、GUI開發(fā)流程實施

3.1、UI數據顯示

3.1.1 、素材準備

如上所說,整個系統(tǒng)流程是以圖片為導向的,所以在設計系統(tǒng)前即應該畫出設計原型,這里選擇的800*480分辨率的屏幕,所以在圖片尺寸上也應設置相同尺寸,但在圖片的格式上迪文做了一些限制,需要24bit色深的bmp或jpg\jpeg格式,windows可以在圖片上右擊->屬性->詳細信息中看到圖片的分辨率和大小以及色深,如果圖片不滿足要求的話下載進屏幕會導致屏幕出現(xiàn)黑屏或其他無法正常顯示的情況。

3  迪文串口屏GUI開發(fā)流程

當確定所有的圖片格式后,需要將圖片統(tǒng)一按0x[_xx]的序號進行命名,序號后的漢字不做要求,可有可無,這里為了方便對圖片做區(qū)分,選擇添加。

4  迪文串口屏GUI開發(fā)流程

圖片準備好后, DGUS Ⅱ不支持直接在文件系統(tǒng)中以圖片格式(bmp/jpg)顯示背景,需要將其轉換為ICL文件格式。這里使用的DGUS Ⅱ軟件自帶的轉換工具即可。

5  迪文串口屏GUI開發(fā)流程

這里引出來在開發(fā)中遇見的一個大坑點,就是關于迪文DGUS Ⅱ文件系統(tǒng)索引,DGUS Ⅱ將系統(tǒng)flash分為多個扇區(qū),每個扇區(qū)的大小是256K,扇區(qū)號從0開始,所有的需要存入屏幕flash的文件都需要用戶手動來確定扇區(qū)大小,其中0號為默認的系統(tǒng)字庫,使用軟件默認生成的大小為3011K,按256K一個扇區(qū)來算,0號字庫占據12個扇區(qū),緊接著是系統(tǒng)配置的觸摸文件13、用于數據顯示的數據文件14以及系統(tǒng)配置文件22。

6  迪文串口屏GUI開發(fā)流程

這三個文件是系統(tǒng)默認生成的,在文件選項卡-單擊生成即可,但請注意,當13文件超過32K后無法使用B0指令關閉指定的觸控控件, 并且22文件系統(tǒng)開機是默認不加載的,需要在CFG文件中指定開機加載22文件功能。官方默認的扇區(qū)號是有64個,除了這1~14,22號扇區(qū)用戶不能使用之外,其余的用戶都可以使用,官方有推薦的劃分表,具體可以查看手冊。

接下來講需要用戶準備的,首先就是背景圖文件,其次是圖標文件,如果你的工程內不需要顯示圖標也可以不準備,再次注意,在官方的歷程中推薦的背景文件扇區(qū)號是32,圖標文件扇區(qū)號是48,因為他們歷程中使用的屏幕內置FLASH大小是16M的,而手頭這一款屏幕內置FLASH只有8M,當按照官方推進的扇區(qū)號進行開發(fā)時出現(xiàn)字庫亂碼現(xiàn)象,幾經排查無果,詢問技術支持得知FLASH大小不夠,能用的扇區(qū)只有32個,導致覆蓋掉了FLASH前段的字庫文件照成了顯示異常,由于圖片ICL與圖標ICL占據不大,將其調整為23/24號,調整了默認圖片索引后需要在CFG文件中修改圖片起始扇區(qū)號,最終問題得到解決。

7  迪文串口屏GUI開發(fā)流程

當素材準備完畢后打開DGUS Ⅱ軟件,選擇新建工程,選擇適合自己的屏幕分辨率,進入工程后,點擊主頁左側?號,進行素材的導入,可一次導入多張圖片。

8  迪文串口屏GUI開發(fā)流程

當導入圖片過后,即可在圖片上繪制數據顯示位置和顯示方式等,當前示例中,假設數據為數值類型,點擊文本顯示->數據變量,在設定的位置拖放數據顯示區(qū)域大小即可。

9  迪文串口屏GUI開發(fā)流程

將需要顯示的數據按需求放置完成后,即需要對每個數據變量進行單獨設置,這就引出了DGUS Ⅱ系統(tǒng)中另一個坑點-<變量地址>,是的,DGUS Ⅱ系統(tǒng)中需要用戶來確認每一個控件的大小和地址,每一種控件的大小并不一致,為了避免麻煩和后期隱患,所以在很多的教程中都是建議直接間隔0x10,例如

10  迪文串口屏GUI開發(fā)流程

在這里要注意變量類型,需要與最終的呈現(xiàn)效果一致,在這里我需要顯示浮點數并帶一位小數,所以將其設置為單精度浮點數即可。

11  迪文串口屏GUI開發(fā)流程

當設置完成后,可以在顯示選項卡-從當前頁開始預覽即可看到效果,但請注意軟件內存在bug,不能完全模擬出實際效果,部分情況下當確認設置沒有問題之后,可以將其下載到串口屏內查看,配置文件/ICL/字庫文件可以通過軟件內的串口下載。

12  迪文串口屏GUI開發(fā)流程

但注意串口下載工具不能下載OS程序/CFG文件以及內核文件,這類文件均只能使用SD卡進行離線更新。SD卡下載需要對卡進行特殊處理且下載時具有特定的命名規(guī)則,這里建議最好是按他這個格式要求格式化一次,后續(xù)可以使用Windows的快速格式化功能,直接使用快速格式化有可能屏幕是無法正常讀取的。

13  迪文串口屏GUI開發(fā)流程

篇幅有限,具體modbus部分等待下一篇文章展開。


今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動化的發(fā)展,提升資源利用率,更多產品更多資料,感興趣的小伙伴可以登錄我們的億佰特官網和企業(yè)公眾號(微信號:cdebyte)進行了解,也可以直接撥打400電話咨詢技術專員!


相關閱讀:

1、虛擬串口工具MCGS開發(fā)調試的靈活應用教程

2、TCP服務器虛擬串口工具的MCGS開發(fā)調試教程

3、使用NS1串口服務器HTTP模式通信教程

4、虛擬串口和串口助手是什么及其作用和用途簡述


億佰特官網 4000-330-990

https://www.wjx.cn/jq/84863372.aspx