0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

迪文串口屏基礎(chǔ)GUI開發(fā)流程

億佰特物聯(lián)網(wǎng)應(yīng)用專家 ? 2024-07-05 08:21 ? 次閱讀

前言

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

827c918a-3a64-11ef-a655-92fbcf53809c.png

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

8296fdcc-3a64-11ef-a655-92fbcf53809c.png

82b36bce-3a64-11ef-a655-92fbcf53809c.png82d18abe-3a64-11ef-a655-92fbcf53809c.png

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

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

需求

使用這款屏幕的目標(biāo)是:

①作為主機進行ModBus通信

②讀取指定從機數(shù)據(jù)并顯示到屏幕中的指定變量

③支持下發(fā)參數(shù)至從機ModBus寄存器

④使用RS485接口

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

實施

1. UI數(shù)據(jù)顯示

素材準(zhǔn)備

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

83088e4c-3a64-11ef-a655-92fbcf53809c.png

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

83210184-3a64-11ef-a655-92fbcf53809c.png

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

833dccba-3a64-11ef-a655-92fbcf53809c.png

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

836063b0-3a64-11ef-a655-92fbcf53809c.png837cc294-3a64-11ef-a655-92fbcf53809c.png

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

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

8390c6cc-3a64-11ef-a655-92fbcf53809c.png

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

83b287ee-3a64-11ef-a655-92fbcf53809c.png

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

83e352c0-3a64-11ef-a655-92fbcf53809c.png

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

83fc9744-3a64-11ef-a655-92fbcf53809c.png

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

841bf08a-3a64-11ef-a655-92fbcf53809c.png

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

843215ea-3a64-11ef-a655-92fbcf53809c.png

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

844faf1a-3a64-11ef-a655-92fbcf53809c.png846d38c8-3a64-11ef-a655-92fbcf53809c.png

篇幅有限,具體ModBus部分等待后期文章展開。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 觸摸屏
    +關(guān)注

    關(guān)注

    42

    文章

    2283

    瀏覽量

    115780
  • GUI
    GUI
    +關(guān)注

    關(guān)注

    3

    文章

    638

    瀏覽量

    39482
  • 串口屏
    +關(guān)注

    關(guān)注

    8

    文章

    524

    瀏覽量

    37252
  • 迪文屏
    +關(guān)注

    關(guān)注

    3

    文章

    75

    瀏覽量

    5353
收藏 人收藏

    評論

    相關(guān)推薦

    跪求STM32和串口通信

    各位高手,跪求STM32和串口通信,并且
    發(fā)表于 09-25 09:24

    DWIN串口的使用經(jīng)驗

    串口,性價比高,質(zhì)量穩(wěn)定可靠,的種類多,消費類,工業(yè)類,醫(yī)療、軍工、特殊行業(yè)等苛刻應(yīng)用類,各個尺寸均有設(shè)計。所以基本能用得上,我分
    發(fā)表于 07-02 07:03

    DWIN串口的使用經(jīng)驗

    串口,性價比高,質(zhì)量穩(wěn)定可靠,的種類多,消費類,工業(yè)類,醫(yī)療、軍工、特殊行業(yè)等苛刻應(yīng)用類,各個尺寸均有設(shè)計。所以基本能用得上,我分
    發(fā)表于 07-02 07:08

    DWIN串口有哪些功能呢

    DWIN串口有哪些功能呢?怎樣去使用DWIN串口
    發(fā)表于 09-28 08:58

    COF結(jié)構(gòu)智能試用體驗】和esp32的圖書檢索及錄入系統(tǒng)

    esp32傳來的事件信息。 三、開發(fā)圖書檢索 圖書錄入 四、遇到的問題串口的數(shù)據(jù)傳輸,
    發(fā)表于 04-06 19:03

    COF結(jié)構(gòu)智能試用體驗】基本開發(fā)流程

    GUI圖形界面構(gòu)建和渲染,內(nèi)置2D硬件加速,可以使我們的圖形界面刷新和切換極其的流暢。3.思想準(zhǔn)備所謂思想準(zhǔn)備就是開發(fā)設(shè)計過程,理解
    發(fā)表于 04-08 14:23

    COF結(jié)構(gòu)智能試用體驗】優(yōu)缺點分析和適用場景

    有基本的了解,比如每個文件名是什么含義。我認為文官方后續(xù)可以改進這一點用戶體驗,可以通過DGUS tool開發(fā)出界面相關(guān)文件,將這
    發(fā)表于 04-10 00:21

    COF結(jié)構(gòu)智能試用體驗】基于串口通信的電子相冊(動態(tài)平滑、完整代碼)

    分享。 這篇分享,涉及或需要了解下面的知識: COF智能基礎(chǔ)了解 運行時內(nèi)存中數(shù)據(jù)存儲的原理 DBUS
    發(fā)表于 12-06 15:58

    開發(fā)便捷的工業(yè)串口

    硬件設(shè)計 二次開發(fā)過程中,工業(yè)串口對用戶系統(tǒng)硬件 要求非常簡單: 1.給
    發(fā)表于 12-02 14:36 ?419次下載
    <b class='flag-5'>開發(fā)</b>便捷的<b class='flag-5'>迪</b><b class='flag-5'>文</b>工業(yè)<b class='flag-5'>串口</b><b class='flag-5'>屏</b>

    工業(yè)串口用戶軟件開發(fā)指南

    工業(yè)串口用戶軟件開發(fā)指南.
    發(fā)表于 04-25 15:05 ?120次下載
    <b class='flag-5'>迪</b><b class='flag-5'>文</b>工業(yè)<b class='flag-5'>串口</b><b class='flag-5'>屏</b>用戶軟件<b class='flag-5'>開發(fā)</b>指南

    單片機控制串口

    的),并生成各類文件(字庫、變量文件、圖片等)通過內(nèi)存卡下載到串口。 然后通過串口發(fā)送命令(80 81 82 )可以控制變量數(shù)值進而控
    發(fā)表于 11-13 17:51 ?41次下載
    單片機控制<b class='flag-5'>迪</b><b class='flag-5'>文</b><b class='flag-5'>串口</b><b class='flag-5'>屏</b>

    COF開發(fā)手冊

    文科技的COF開發(fā)流程進行了整理,便于協(xié)助用戶快速開發(fā)
    發(fā)表于 06-08 14:44 ?0次下載

    串口與STM32通訊資料分享

    串口與STM32通訊資料分享
    發(fā)表于 08-28 10:14 ?84次下載

    串口ModBus開發(fā)流程

    這里接前一章節(jié),繼續(xù)開發(fā),前章主要講解基礎(chǔ)開發(fā)流程,此章節(jié)開始講解
    的頭像 發(fā)表于 07-19 08:21 ?407次閱讀
    <b class='flag-5'>迪</b><b class='flag-5'>文</b><b class='flag-5'>串口</b><b class='flag-5'>屏</b>ModBus<b class='flag-5'>開發(fā)</b><b class='flag-5'>流程</b>

    串口如何與電腦連接

    串口是一種廣泛應(yīng)用于工業(yè)自動化領(lǐng)域的顯示設(shè)備,它可以通過串口與電腦進行通信,實現(xiàn)數(shù)據(jù)的傳輸和控制。 一、
    的頭像 發(fā)表于 08-01 15:10 ?777次閱讀