
![]()
Gid Itilizatè HT32 GUI-Builder
Revizyon: V1.00 Dat: 13 jen 2025
![]()
1. Plis paseview
HT32 GUI-Builder a se yon zouti pou konstwi entèfas grafik ki fèt pou mikrokontwolè 32-bit Holtek yo pou ede devlopè yo byen vit desine epi deplwaye aplikasyon entèfas moun-machin. Avèk operasyon trennen-depoze entwisyon, itilizatè yo ka fasilman konfigire eleman vizyèl tankou bouton, etikèt tèks, ikòn, elatriye, epi konplete konsepsyon GUI konplèks san yo pa bezwen ekri gwo kantite kòd entèfas.
Lojisyèl sa a sipòte seri mikrokontwolè 32-bit Holtek la epi li konbine parfe ak LVGL (Light and Versatile Graphics Library) pou bay widjèt grafik rich ak yon motè rann efikas. HT32 GUI-Builder la ka otomatikman jenere pwojè. fileki konfòm ak kad LVGL la. Itilizatè yo ka tou senpleman enpòte pwojè ki pwodui a nan anviwònman devlopman an, answit konpile, telechaje epi egzekite pwojè a, sa ki diminye tan devlopman an anpil.
2. Kondisyon sistèm
- Mikrokontwolè HT32: Memwa Flash 256K ak plis / SRAM 32K ak plis
- Sistèm operasyon: Windows 64-bit
- Anviwònman devlopman: Keil Vision / HT32-IDE
3. Sipò Materyèl
Konstriktè GUI HT32 la sipòte MCU Holtek sa yo:
- HT32F52367: 256K Flash / 32K RAM
- HT32F12365: 256K Flash / 64K RAM
- HT32F12366: 256K Flash / 128K RAM
- HT32F42386: 512K Flash / 196K RAM
- HT32F49395: 1024K Flash / 224K RAM
LCD ki sipòte:
- ESK32-A2A31: TFT-LCD 2.8 pous (320 × 240)
- ESK32-A4A31: TFT-LCD 5 pous (800 × 480)
- ESK32-A4A32: TFT-LCD 4.3 pous (480 × 272)
4. Enstriksyon Enstalasyon
- Enstale sou sistèm operasyon Microsoft WIN7/WIN8/WIN10/WIN11.
- Sistèm nan bezwen enstale .NET Framework 3.5 la. Si li poko enstale, tanpri telechaje epi enstale li nan paj ofisyèl Microsoft la. websit: https://www.microsoft.com/zh-tw/download/details.aspx?id=21
- Pandan pwosesis enstalasyon an, swiv enstriksyon yo epi kontinye klike sou "Next" pou konplete enstalasyon an.
5. Rezime Fonksyonèl
Konstriktè GUI HT32 a gen ladan l fonksyon prensipal sa yo:
- Widjèt trennen-e-depoze: Li sipòte yon pakèt widjèt trennen-e-depoze, sa ki fè li fasil pou itilizatè yo byen vit desine koòdone a.
- Sipò pou plizyè ekran: Li sipòte chanjman ant plizyè ekran.
- Jesyon imaj ak polis: Ou ka estoke imaj yo nan memwa Flash entèn lan oswa nan kat SD a.
Ou ka pèsonalize polis yo atravè Font Converter la. - Similatè viewItilizatè yo ka preview efè konsepsyon koòdone itilizatè a an tan reyèl atravè similatè a.

- Meni kòmand
- Atribi Komen Widget yo
- Atribi Espesyal Widget
- Stil Widjèt
- Evènman Widget
- Ekspozisyon Enfòmasyon ak Zòn Resous
- Widjèt ki disponib yo
- Widjèt Itilize yo
- Ekran
6. Kòmanse rapid
(1) Louvri HT32 GUI-Builder la pou antre nan koòdone prensipal la.
(2) Klike sou [Nouvo], answit chwazi nimewo pyès kat devlopman an / ekran an ak lòt paramèt nan fenèt Anviwònman ki parèt la pou kreye yon pwojè.
(3) Chwazi widjèt ou vle yo (pa egzanp bouton, etikèt, ba pwogrè, elatriye) nan ba zouti gòch la epi trennen yo nan zòn twal la.
(4) Ajoute resous imaj/font.
(5) Chwazi nenpòt widjèt sou twal la epi ajiste atribi li yo, tankou pozisyon, gwosè, koulè, modèl, font, elatriye, sou panèl atribi ki sou bò dwat koòdone lojisyèl la.
(6) Klike sou [Jwe] pou view desen an nan fenèt similatè a epi kominike avèk ekran an avèk klavye a ak sourit la.
(7) Klike sou [Kòd] pou jenere yon pwogram konplè, sèvi avè l avèk Bibliyotèk Firmwèr Holtek la, konpile pwogram nan nan anviwònman devlopman an epi telechaje l sou kat devlopman an pou teste li.
(8) Si ekran an chanje pasyèlman, li pèmèt sèlman jenere kòd koòdone itilizatè a pou evite ranplase kòd itilizatè a deja ekri a.
7. Entwodiksyon Fonksyonèl Detaye
| Fonksyon | Deskripsyon |
[Nouvo] |
Kreye yon nouvo konfigirasyon ekran. |
[Resan] |
Dènyèman louvri files. |
[Louvri]
Louvri yon pwojè konfigirasyon ekran (.hgb). Resous files [pwojè].Byen ak [pwojè].Font yo dwe nan menm anyè a. |
![]() |
[Enpòte]
Konstriktè GUI HT32 la gen s entegre.amples nan pwosesis evènman ki fini. Pwojè ki pwodui atravè fonksyon Enpòtasyon an ka jenere pwosesis evènman files senkronize lè y ap jenere kòd, konsa konplete devlopman fonksyonèl la byen vit. |
![]() |
[Sove]
Sove pwojè konfigirasyon ekran an (.hgb). Imaj la ak font lan fileFichye ki nan zòn resous la ap sove nan anyè [project].Assets ak [project].Fonts an menm tan. |
![]() |
[+Ekran]
Kreye yon nouvo ekran. Pwogram prensipal la ap chaje premye ekran an, epi itilizatè yo bezwen chanje pou ale nan lòt ekran yo nan kòd la poukont yo. |
![]() |
[-Ekran] |
Efase ekran ki chwazi a. |
[Kopi] |
Kopye widjèt ou chwazi a. |
[Kole] |
Kole widjèt ou te kopye a. |
[Koupe] |
Koupe widjèt ki chwazi a. |
[Efase] |
Efase widjèt ki chwazi a. |
[Post]
Konvètisè polis LVGL. Gade chapit "Konvètisè Font" la. |
![]() |
Kòd
Jenere yon pwojè Keil. Ou dwe kopye dosye ki jenere a nan {Holtek Standard Peripheral Firmware Library}\application\{any folder}, answit egzekite _CreateProject.bat anba dosye sa a. |
![]() |
Kòd koòdone itilizatè a
Rejenere kòd ki gen rapò ak ekran an. |
Ki enpòtan fileyo enkli:
lvgl_ui.c Pa ajoute pwòp kòd ou nan sa yo files pou evite ke HT32 GUI-Builder la ranplase kòd la. |
[Jwe]Simile ekran ki chwazi kounye a. Apre ou fin antre nan ekran simulation an, ou ka itilize sourit la pou deklanche evènman widjèt la, oubyen ou ka itilize yon klavye fizik pou antre kontni dirèkteman. |
|
[Anviwònman]
Fikse paramèt ki gen rapò ak pyès ki nan konpitè a. Gade chapit "Paramèt" la pou plis detay. |
![]() |
7.2 Entèfas lojisyèl
| Fonksyon | Deskripsyon |
| Debaz/Kontwolè [Widjèt] Trennen epi depoze widjèt ou vle yo sou ekran LCD a. |
![]() |
| Widjèt Paran/Timoun [Gwoup] ak Lòd Widjèt Gwoupman an fèt lè w trennen widjèt pitit la sou widjèt paran an nan zòn [Widjèt Itilize yo]. Lè widjèt paran an deplase, widjèt pitit la ap deplase avè l. Anplis [Gwoup], ou kapab tou chanje lòd objè yo lè w trennen yo. |
![]() ![]() |
| Zòn [Byen]/[Polis] Klike sou [Ajoute Imaj] Files] pou ajoute imaj nan zòn [Assets] anvan yo ka itilize yo nan widjèt la. Fòma konvèsyon pa defo pou imaj ki ajoute nan zòn [Assets] la se koulè reyèl 16-bit. Itilizatè yo ka klike sou imaj la ak bouton dwat sourit la pou chwazi fòma koulè endèks 1/2/4/8-bit pou diminye espas ki nesesè pou imaj la. Yo ka chwazi fòma sa yo pou moun ki bezwen ti koulè tankou ikon. Yo ajoute polis nan zòn [Polis] la atravè Konvètisè Polis la, tanpri al gade chapit "Konvètisè Polis" la pou plis detay. |
![]() ![]() |
| Zòn Widget [Atribi Komen]/[Atribi Espesyal] Zòn sa a gen ladan l pozisyon/gwosè widjèt la, drapo yo ak eta yo. Pou plis deskripsyon sou [Drapo] ak [Eta], tanpri al gade paj ofisyèl LVGL la. websit. Anplis de sa, diferan widjèt yo gen pwòp atribi pa yo, figi ki adwat la montre atribi Label la. Tanpri gade tou dokiman LVGL la pou atribi detaye chak widjèt. |
![]() |
| Zòn Widget [Stil] Ou ka chanje aparans ak koulè widjèt yo, eksetera, avèk Paramèt Stil yo. Bwat jòn nan montre paramèt stil komen pou tout widjèt yo, alòske lòt yo diferan pou chak widjèt. Yon widjèt gen plizyè pati. Pa egzanpampPa egzanp, yon switch konsiste de yon bouton prensipal, yon endikatè ak yon bouton, epi yo chak ka ajiste endepandamman. Widjèt la kapab tou konfigire pou l gen diferan estil pou diferan eta. Pa egzanpampI.e., eta Enfim oswa Peze yo ka gen diferan stil paramèt. |
![]() |
| Widjèt [Evènman] Apre yo fin chwazi evènman yo vle yo, se sèlman kad pou resevwa evènman yo ki jenere nan lvgl_event.c. Itilizatè yo ka fè diferan travay apre widjèt la resevwa evènman an. Pou plis detay, gade "Egzanp" la.ampchapit "Deskripsyon" an. |
![]() |
| Zòn [Ekran] Zoom Agrandi/Dezoom Deplase kurseur sourit la nan zòn ekran LCD a, kenbe kle Ctrl la peze epi monte wou bouton mitan sourit la pou agrandi ekran an, desann pou diminye zòn ekran an. |
![]() |
8. Konvètisè Font
LVGL la itilize kodaj UTF-8 pou montre karaktè Unicode pou tout lang yo. Itilizatè yo ka kreye yon etalaj C oswa kòd binè apati nenpòt polis TTF oswa WOFF atravè Konvètisè Polis la. Ou ka chwazi yon seri karaktè Unicode epi presize BPP (bit pa pixel) pou pwodui nouvo polis pou pwojè GUI ou yo.

Browse Dosye Font
Chwazi dosye kote font la ye a files lokalize.
Chwazi Resous Polis
Chwazi font ki nan lis nan dosye Font la nan meni deroulant lan.
Gwosè
Defini gwosè karaktè a.
Non
Non ki itilize pou mete font nan pwogram nan.
BPP
Detèmine flou sou kote lèt yo. Plis kantite bit yo piti, se plis kote lèt yo ap flou.
Range
Pèsonalize yon seri lèt, sa vle di seri ak/oswa karaktè ou vle mete ladan l, pa egzanp 0x20-0x7F.
Senbòl
Lis pèsonaj pou enkli. Pa egzanpample, Bonjou Holtek ABC0123ÁÉŐ.
Konvèti
Apre yo fin kreye polis yo avèk siksè, yon enfòmasyon sou polis la file (.fnt), yon .c file ak yon .bin file pral pwodui anba dosye [Fonts] la, epi font yo ap parèt nan zòn [Fonts] la an menm tan. Si font ki chwazi a file pa gen menm polis senbòl ou te antre a, yon erè ap parèt.
Fichye .fnt la file anrejistre enfòmasyon sou font lan. Itilizatè yo ka louvri sa a file pou modifye paramèt ki enpòtan yo epi answit rejenere .c la file ak .bin file.
Konstriktè GUI HT32 la ap gen ladan l .c la. file pou mete polis, si ou vle itilize .bin nan file, tanpri al gade ofisyèl LVGL la websit.
Zòn [Post]
Itilizatè yo ka klike sou yon font nan zòn [Fonts] la ak bouton dwat sourit la pou efase li.

Nòt: Polis yo baze sou pwojè, epi polis pèsonalize ki kreye a file ap sove lè w ap sove pwojè a. Si li pa sove, li pral efase lè yo louvri yon nouvo pwojè.
Louvri
Louvri enfòmasyon sou font lan file (.fnt).
Anviwònman Font
Si yon widjèt mande pou mete atribi font la, paramèt [Tèks] yo ap parèt nan zòn [Stil Widjèt] la. Anplis font pèsonalize yo nan lis deroulant lan, genyen tou font montserrat LVGL bay yo pou ou chwazi.

Remake byen ke HT32 GUI-Builder la jenere kòd sous la. file nan UTF-8 ak yon Mak Lòd Oktè (BOM), epi Keil pral inyore opsyon –locale ak –[no_] multibyte_chars yo epi entèprete file kòm UTF-8 oubyen UTF-16.
Sepandan, si la file Si yo modifye epi sove li nan Editè Keil la, y ap sove li kòm mòd kodaj ki te defini nan koòdone konfigirasyon an, jan yo montre anba a. Menm si yo te mete mòd kodaj la sou UTF8, li pa posib pou konpile UTF-8 paske pa gen okenn BOM.

9. Anviwònman

Lajè/Wotè
Fikse longè ak lajè ekran an ki dwe koresponn ak pyès ki nan konpitè a.
Pwofondè
Fikse pwofondè koulè a ki dwe koresponn ak pyès ki nan konpitè a.
Wotasyon
Mete direksyon LCD a.
Mòd Tèm
Mete tèm de baz LVGL la sou mòd nwa oswa mòd klè.
LVGL
Chwazi vèsyon LVGL la. Kounye a gen vèsyon 8.3.8 ak vèsyon 9.2.2 ki disponib.
Komisyon Konsèy
Chwazi pyès ki nan konpitè ak chofè ekspozisyon ki sipòte kounye a.
SD FatFs
Si opsyon [SD FatFs] la aktive, ou ka chwazi si ou vle chèche imaj widjèt la nan kat SD a lè w tcheke opsyon [FAT] la. Si ou chwazi chèche imaj la nan kat SD a, ou bezwen kopye fichye .bin nan. file soti nan dosye [Imaj] la pou ale nan kat SD a anvan ou egzekite firmwèr la. Lèt ki sèvi kòm disk pou kat SD a se S.

Dosye Imaj
Si [SD FatFs] aktive epi [Img Folder] tcheke, lè yo chwazi imaj widjèt la pou yo pran l nan kat SD a, chemen an chanje pou S:/[Image Folder], tankou S:/EX5/Image.bin
Si opsyon [Img Folder] la pa tcheke, imaj la file ta dwe mete anba anyè rasin S: la.
Depo ekstèn
- ESK32-A4A10(m4)+ESK32-A4A31(16-bit) core: HT32F42386
- ESK32-A4A10(m4)+ESK32-A4A32(16-bit) core: HT32F42386
Lè ou chwazi kat demonstrasyon ki anwo yo, ou ka chwazi SRAM ekstèn, apre sa pwogram ki jenere a pral konfigire memwa tanpon ekspozisyon plen ekran an nan SRAM ekstèn lan pou akselere ekspozisyon an.
- ESK32-A4A11(m4)+ESK32-A4A31(16-bit) core: HT32F49395
- ESK32-A4A11(m4)+ESK32-A4A32(16-bit) core: HT32F49395
Lè itilizatè yo ap chwazi kat demonstrasyon ki anwo yo, yo ka chwazi SRAM ekstèn ansanm ak Flash ekstèn.
Si ou chwazi Flash Ekstèn, tout done imaj ki pwodui yo ap estoke nan Flash Ekstèn nan.
Ajoute yon aparèy antre
Diferan tablo sipòte diferan aparèy opinyon.
- ESK32-2x001A(m0)+ESK32-A2A31(8-bit) core: HT32F52367
- ESK32-2x001A(m3)+ESK32-A2A31(16-bit) core: HT32F12366
- ESK32-2x001A(m4)+ESK32-A2A31(16-bit) core: HT32F42386
Pou egzanpampAlewè, chwazi tablo demonstrasyon ki anwo yo epi sèvi ak Wakeup/Key1/Key2 pou aplike fonksyon Klavye ak Bouton yo.
Klavye:
Reveye = kle Antre
Kle1 = Kle anvan an
Key2 = Pwochen kle
bouton:
Nan lv_port_indev.c la file, modifye btn_points anba lv_port_indev_init pou defini pozisyon sou ekran an kote evènman an rive lè yo peze yon kle.
Nòt: Si yo chwazi kat ESK32-2x001A(m0)+ESK32-A2A31(8-bit) la, yo pral itilize lajè done EBI 8-bit la akòz pyès ki nan konpitè a. Tanpri gade Q4 nan chapit FAQ a pou plis detay.
- ESK32-A4A10(m4)+ESK32-A4A31(16-bit) core: HT32F42386
- ESK32-A4A10(m4)+ESK32-A4A32(16-bit) core: HT32F42386
- ESK32-A4A11(m4)+ESK32-A4A31(16-bit) core: HT32F49395
- ESK32-A4A11(m4)+ESK32-A4A32(16-bit) core: HT32F49395
Lè w ap chwazi kat demonstrasyon ki anwo yo, sèvi ak Button0~2 pou aplike fonksyon Klavye ak Bouton yo epi sèvi ak GT911 pou aplike fonksyon Touchpad ak Sourit yo.
Klavye:
Button0 = kle Antre
Bouton1 = Kle anvan an
Bouton2 = Kle kap vini an
- ESK32-31401(m4)+ESK32-A4A31(16-bit) core: HT32F49395
- ESK32-31401(m4)+ESK32-A4A32(16-bit) core: HT32F49395
Lè w ap chwazi tablo ekspozisyon ki anwo yo, fonksyon Touchpad ak Sourit yo aplike ak GT911 la.
Pou aparèy opinyon ke pyès ki nan konpitè a pa sipòte, se sèlman kad travay yo ki pwodui. Pou enstriksyon detaye, gade "Exampchapit "Deskripsyon" an.
Fòma Koulè ki te pwodui yo
Konstriktè GUI HT32 la sipòte senk fòma koulè imaj: Vrè Koulè, Endèks 8 Bits, Endèks 4 Bits, Endèks 2 Bits ak Endèks 1 Bit. Itilizatè yo ka chwazi youn nan fòma koulè yo pou aplike sou ekran an. Sepandan, lè y ap jenere kòd, itilizatè yo ka chwazi:
(1) Sèlman fòma koulè ki itilize a ap soti

(2) Montre fòma koulè yo chwazi yo

Sa fè li pi fasil pou ajiste koulè ekran an pandan devlopman firmwèr la.
10. File Estrikti
Si ou vle ajoute pwòp chofè ekspozisyon ou oswa aparèy opinyon ou, ou bezwen premye konprann pwojè a. file estrikti ki te pwodui pa HT32 GUI-Builder la.

- main.c: Pwogram prensipal la file
- lvgl_ui.c/lvgl_screen.c: Widjèt ki gen rapò ak ekran an file
- lvgl_event.c: Pwosesis evènman
- [board]: Chofè ki gen rapò ak pyès ki nan konpitè
- [FatFs]: File sistèm files
- [Imaj]: Imaj files
- [Post]: Polis files
- [lvgl-master]: bibliyotèk LVGL
- Chofè personnalisable:
♦ gpio.h: Definisyon pin ekran/tactile ak kle
♦ ht32_board_config.h: Definisyon pin entèfas kat SD a
♦ lcd_driver.h: Definisyon fonksyon chofè ekspozisyon an, ki gen ladan longè/lajè ak rezolisyon. Sa a file gen ladan tou .c la files nan kòd sous chofè ekspozisyon an ak kòd sous fonksyon taktil la.
♦ i2c1_gt911.c: Kòd sous fonksyon taktil la, ki enkli nan lcd_driver.h la file.
♦ icd_drvier_ssd1963: Kòd sous chofè ekspozisyon an, ki enkli nan lcd_driver.h la file.
♦ lv_port_indev.c: Chofè Antre
♦ lv_port_disp.c: Chofè ekspozisyon
♦ sdio_sd.c: Chofè entèfas kat SD
Itilizatè ki vle defini pwòp koòdone pyès ki nan konpitè yo bezwen modifye sa ki anwo yo files epi konplete fonksyon ki gen rapò yo nan .c la file.
LVGL la itilize kodaj UTF-8 pou montre karaktè Unicode pou tout lang yo, kidonk HT32 GUI Builder la jenere kòd sous la. file nan kodaj UTF-8 ak yon mak lòd okte (BOM).
Lè w ap rejenere kòd UI a, bagay sa yo: files yo rejenerasyon tou:
lvgl_ui.c
lvgl_ui.h
lvgl_screen_n.c
lvgl_screen_n.h
Ak la files anba dosye Imaj/Polis yo
Pa ajoute pwòp kòd ou nan sa yo files pou evite ke HT32 GUI-Builder la ranplase kòd la.
11. Egzample Deskripsyon
Chapit sa a pran 2x001a-1.hgb (Klavye) kòm yon egzanp.ampla pou deskripsyon.

- etikèt_0
- etikèt_1
- bouton_1 ak etikèt_3
- bouton_0 ak etikèt_2
- switch_0
- imaj_0
(1) label_0: Mete atribi label la sou Scroll Circular pou fè karaktè yo kouri.

(2) Kreye yon font files.
Si gen karaktè Chinwa nan etikèt la, ou bezwen mete font Chinwa a. Sèvi ak zouti konvèsyon font lan pou kreye font pou senk karaktè Chinwa yo nan "盛群半導體". Jan yo montre nan figi a, font NotoSansTC_Regular_14 la ap pwodui.

(3) Nan Text\Text Font anba Style, mete font etikèt la sou NotoSansTC_Regular_14.

(4) label_1: Mete atribi label la sou Scroll Circular pou fè karaktè yo kouri.

Mete stil tèks ki anba Stil la sou wouj/santre/soulye/montserrat 28.

(5) image_0: Gen de fason pou ajoute yon imaj sou ekran an. Youn se trennen imaj la dirèkteman soti nan zòn [Assets] la pou mete l sou ekran an. Lòt la se ajoute yon widjèt Imaj an premye avèk yon operasyon trennen-e-depoze, epi answit chwazi imaj ki te ajoute nan pwojè a nan zòn Atribi Espesyal Widjèt [Imaj] la. Si pwojè a te aktive opsyon SD FatFs la, ou ka chwazi tou si ou vle chèche imaj la nan file sistèm. Si opsyon FAT la tcheke, dosye .bin nan file ki nan dosye [Imaj] la bezwen kopye sou kat SD a anvan yo egzekite firmwèr la.


(6) Mete label_2 kòm yon pitit button_0 epi label_3 kòm yon pitit button_1 avèk operasyon trennen-e-depoze.
(7) Chwazi bouton_0 epi tcheke opsyon KLIK la anba EVÈNMAN, menm jan ak bouton_1.

(8) Chwazi Mòd Nwa epi tcheke Klavye nan [Anviwònman].

(9) Klike sou [Save] pou sove pwojè a, answit klike sou [Code] pou jenere kòd la.
(10) Kopye dosye ki te pwodui a nan {Holtek Standard Peripheral Firmware Library}\application\{nenpòt dosye}, epi egzekite _CreateProject.bat pou jenere pwojè Keil uVision IDE la.
(11) lv_port_indev.c se fondasyon an file nan aparèy opinyon yo epi yo ka modifye selon konfigirasyon pyès ki nan konpitè a.
Nan ansyen sa aampPa egzanp, HT32 GUI-Builder la itilize Key1/Key2/Wakeup sou kat demonstrasyon ESK32-2x001A a pou jenere otomatikman kòd sa a pou KeyPad:


Key1 se kle Presedan an epi lè ou peze Key1, w ap retounen pou chwazi yon lòt widjèt.
Key2 se kle kap vini an epi lè ou peze Key2, w ap kontinye pou chwazi yon lòt widjèt.
Reveye se kle Antre a epi peze Reveye ap deklanche evènman Klike la.
(12) lvgl_event.c se kad la file Pou widjèt la k ap resevwa yon evènman, itilizatè a ka ajoute kòd la nan kare wouj yo jan yo montre anba a, si yo peze button_0, switch la ap chanje sou On, si yo peze button_1, switch la ap chanje sou Off ankò.

Nòt: 2x001a-1 EgzanpampPou pwosesis evènman yo, gade lvgl_event.c nan dosye a.
2x001a-2 EgzanpampPou wotasyon pwent revèy la, gade main.c nan dosye a.
a4a10 EgzanpampPou konfigirasyon koulè ak espas tèks la, gade lvgl_event.c nan dosye a.
12. FAQ
K1: Kijan pou amelyore pwoblèm reta nan rafrechisman ekran an?
(1) Ajiste gwosè memwa tanpon ekspozisyon an
- Plis memwa tanpon ekspozisyon an gwo, se plis rafrechisman sèl la efikas, men li okipe plis espas RAM.
- Mete gwosè memwa tanpon an nan lv_port_disp_init(lv_port_disp.c):
estatik lv_disp_draw_buf_t draw_buf_dsc_1;
estatik lv_color_t buf_1[DISP_HOR_RES * 10];
lv_disp_draw_buf_init(&draw_buf_dsc_1, buf_1, NULL, DISP_HOR_RES * 10);
disp_drv.flush_cb = disp_flush;
disp_drv.draw_buf = &draw_buf_dsc_1; - Fikse gwosè memwa tanpon an omwen egal ak kantite bit pou yon ekran anvan tout koreksyon (lajè * 1).
- Si RAM lan sifizan, mete l sou 1/4 oswa plis nan gwosè ekran an.
(2) Diminye to rafrechisman an
- Diminye vitès rafrechisman LVGL la pou minimize redesen ki pa nesesè.
- Modifye LV_DISP_DEF_REFR_PERIOD(V8) oubyen LV_DEF_REFR_PERIOD(V9) nan lv_conf.h la. file.
(3) Redui kouch objè yo
- Plis gen kouch widjèt nan LVGL, se plis pwosesis rann lan vin konplèks.
- Minimize widjèt ki entegre yo.
(4) Sèvi ak transparans ak stil byen
- Redui transparans ki pa nesesè:
lv_obj_set_style_bg_opa(obj, LV_OPA_COVER, 0); - Diminye itilizasyon background gradyan ak estil konplèks (pa egzanp Lonbraj ak Reyon).
(5) Pa sèvi ak animasyon
Animasyon yo ka deklanche redesen souvan, sa ki afekte pèfòmans.
LVGL la konte widjèt ak zòn ki bezwen redesine nan chak rafrechisman. Desen konplèks ak anpil zòn ki pa valab ap lakòz entèval pwosesis ki pi long. Asire w ke se sèlman zòn ki mete ajou yo ki redesine, pa tout ekran an. Si plizyè animasyon mete ajou menm zòn nan an menm tan, sa ap ogmante kantite redesin ki pa nesesè, kidonk ou bezwen optimize lojik animasyon an manyèlman.
K2: Kijan pou jere yon imaj ki gwo gwosè?
Imaj la ka soti nan:
Varyab nan pwogram nan: Li anjeneral yon etalaj C ki gen done pixel ki plase nan Flash entèn la.
Sere ekstènman files: Tankou imaj files estoke nan kat SD a. Pwojè a dwe sipòte file sistèm.
Yon imaj 320×240 ak yon pwofondè koulè 16-bit mande 320×240×3 okte, oubyen jiska 225K. Li pa pratik pou estoke yon imaj konsa ki gwo nan Flash entèn lan.
Si ou tcheke [SD FatFs] nan [Settings] pou aktive file Sistèm kat SD a, widjèt ki bezwen yon imaj la ka chwazi pou l chèche imaj nan kat SD a. Anvan ou egzekite firmwèr la, kopye .bin nan file soti nan dosye [Imaj] la pou mete l sou kat SD la.
Sepandan, piske imaj yo soti nan files, vitès rafrechisman sistèm lan limite pa vitès lekti kat SD a. Pa egzanpampPa egzanp, lè w ap itilize HT32F12366 a 96MHz pou li yon imaj 320×240, vitès la se sèlman anviwon 4fps, ki pa apwopriye pou yon rafrechisman rapid ak gwo zòn.
K3: Kijan pou ogmante espas memwa a pou ajoute plis widjèt sou ekran an?
Kòd HT32 GUI-Builder la pwodui a fikse paramèt sa yo nan lv_conf.h:
#defini LV_MEM_CUSTOM 1 (V8)
#defini LV_USE_STDLIB_MALLOC LV_STDLIB_CLIB (V9)
Sa vle di pou itilize fonksyon C estanda pou jere memwa: malloc/free/realloc, ki bezwen konfigire gwosè [Heap] la.

Kantite widjèt yo ka ajoute varye selon kalite widjèt la. Itilizatè yo ka ogmante oswa diminye gwosè [Heap] la selon bezwen aplikasyon yo.
K4: Kòd ki pwodui a pa fonksyone byen?
A. Si ou te chwazi opsyon [FAT] nan paramèt imaj la, asire w ke imaj la fileYo te estoke nan kat SD a epi chemen an kòrèk.
B. Tcheke si yo te ajoute twòp widjèt, sa ki lakòz pa gen ase espas nan [Heap] la.
Tanpri gade Q3 pou ogmante gwosè [Heap] la.
C. Si widjèt la mete ak lonbray oswa reyon, li pral bezwen yon gwosè [Heap] ki pi gwo pou kalkil la, tanpri al gade Q3 pou ogmante gwosè [Heap] la tou.
K5: Poukisa lajè done EBI HT32F52367 la se 8-bit?
Lè kat ESK32-2x001A a konekte ak HT32F52367 la, Key1 pataje pin ak AD9 EBI a. Pou anpeche ekran an pa fonksyone lè aparèy antre bouton an oswa klavye a aktive, lajè done 8-bit EBI a itilize pa default.
SW1 ki sou dèyè modil ekran ESK32-A2A31 la bezwen mete sou 1000 pou sipòte EBI 8-bit.

Mòd 16-bit Mòd 8-bit
Si aparèy antre bouton an oswa klavye a pa aktive, itilizatè a ka modifye lv_drvier.h pou chanje lajè done EBI a a 16-bit pou ogmante vitès rafrechisman an.
#ifndef TFT_BIT_MODE
#defini TFT_BIT_MODE (TFT_16_BIT_MODE)
#endif
K6: Kijan pou ajoute yon chofè ekspozisyon oswa yon aparèy opinyon?
Pran panèl taktil kapasitif LCD ESK32-A4A31 5.0 pous (800 × 480) ki sipòte pa HT32 GUI-Builder kòm yon ansyen.ampPa egzanp, sikwi entegre chofè ekspozisyon an se SSD1963 la epi sikwi entegre chofè tactile a se GT911 la.
- gpio.h: Definisyon pin ekran/tactile ak kle.
- lcd_driver.h: Definisyon fonksyon chofè ekspozisyon an, ki gen ladan longè/lajè ak rezolisyon. Sa a file gen ladan tou .c la files nan kòd sous chofè ekspozisyon an ak kòd sous fonksyon taktil la.


- icd_drvier_ssd1963: Kòd sous chofè ekspozisyon an, ki enkli nan lcd_driver.h la file.
- i2c1_gt911.c: Kòd sous fonksyon taktil la, ki fè pati aparèy opinyon an epi ki enkli nan lcd_driver.h la. file.
- lv_port_indev.c:
#ifdef_TOUCHPAD_
estatik vid touchpad_init(vid);
estatik vid touchpad_read(lv_indev_t * indev, lv_indev_data_t * done);
estatik bool touchpad_is_pressed(void);
estatik vid touchpad_get_xy(int32_t * x, int32_t * y);
#endif
#sidef_SOURI_
estatik vid mouse_init(vid);
estatik vid sourit_li(lv_indev_t * indev, lv_indev_data_t * done);
estatik bool sourit_ap_prese(void);
estatik vid mouse_get_xy(int32_t * x, int32_t * y);
#endif
Touchpad ak sourit se aparèy opinyon ki sanble.
touchpad_init/mouse_init rele Touch_Init pou inisyalize I2C/pin yo ak GT911 la.
touchpad_is_pressed/mouse_is_pressed rele is_pressed pou detèmine si yo te peze touchpad la oswa non.
touchpad_get_xy/mouse_get_xy rele get_xy pou jwenn pozisyon kote yo peze touchpad la.
touchpad_read/mouse_read rele is_pressed ak get_xy pou jwenn eta a ak pozisyon an menm tan.
Copyright © 2025 pa HOLTEK SEMICONDUCTOR INC. Tout dwa rezève.
Enfòmasyon yo bay nan dokiman sa a te pwodwi ak swen rezonab ak atansyon anvan piblikasyon, sepandan, HOLTEK pa garanti ke enfòmasyon yo konplètman egzat. Enfòmasyon ki nan piblikasyon sa a bay pou referans sèlman epi yo ka ranplase pa mizajou. HOLTEK refize nenpòt garanti eksprime, enplik oswa legal, ki gen ladan men pa limite a konvnab pou komèrsyalizasyon, bon jan kalite satisfezan, espesifikasyon, karakteristik, fonksyon, kondisyon fizik pou yon objektif patikilye, ak ki pa vyolasyon dwa nenpòt twazyèm pati. HOLTEK rejte tout responsablite ki soti nan enfòmasyon an ak aplikasyon li yo. Anplis de sa, HOLTEK pa rekòmande pou sèvi ak pwodwi HOLTEK yo kote gen yon risk pou danje pèsonèl akòz fonksyone byen oswa lòt rezon. HOLTEK deklare ke li pa otorize itilizasyon pwodui sa yo nan eleman ki enpòtan pou sove lavi, soutni lavi oswa sekirite. Nenpòt itilizasyon pwodwi HOLTEK nan aplikasyon pou sove lavi/soutivan oswa sekirite se antyèman nan risk achtè a, ak achtè a dakò defann, dedomaje ak kenbe HOLTEK inonsan nan nenpòt domaj, reklamasyon, kostim, oswa depans ki soti nan itilizasyon sa yo. Enfòmasyon yo bay nan dokiman sa a, ki gen ladan, men pa limite a kontni an, done, egzanpamples, materyèl, graf, ak mak, se pwopriyete entelektyèl HOLTEK (ak lisans li yo, kote sa aplikab) epi li pwoteje pa lwa copyright ak lòt lwa pwopriyete entelektyèl. Pa gen okenn lisans, eksprime oswa implicite, nan nenpòt dwa pwopriyete entelektyèl, yo akòde pa HOLTEK nan la a. HOLTEK rezève dwa pou revize enfòmasyon ki dekri nan dokiman an nenpòt ki lè san avètisman davans. Pou dènye enfòmasyon yo, tanpri kontakte nou.
Rev. 1.00 13 jen 2025
Dokiman / Resous
![]() |
Konstriktè GUI HOLTEK HT32F52367 [pdfGid Itilizatè Konstriktè GUI HT32F52367, HT32F52367, Konstriktè GUI, Konstriktè |
[Nouvo]
[Resan]
[Louvri]

[Enpòte]

[Sove]

[+Ekran]

[-Ekran]
[Kopi]
[Kole]
[Koupe]
[Efase]
[Post]

Kòd

Kòd koòdone itilizatè a
[Jwe]

[Anviwònman]










