STMicroelectronics լոգոն UM3236 LVGL գրադարաններ LCD էկրանների համար
Օգտագործողի ձեռնարկ

Ներածություն

Ավտոմոբիլային արդյունաբերության ժամանակակից համատեքստում սովորական է մշակել ավելի ու ավելի բարդ ինտերֆեյսեր, նույնիսկ փոքր LCD էկրանների համար: Այս կարիքը բավարարելու համար ստեղծվել և AutoDevKit էկոհամակարգում ավելացվել է նոր բաղադրիչ՝ AEK-LCD-LVGL:
Այս նոր բաղադրիչը ներմուծում է LVGL գրաֆիկական գրադարանը և այն օգտագործվում է AEK-LCD-DT028V1 բաղադրիչի հետ՝ ավելի արագ բարդ GUI-ներ մշակելու համար:
LVGL-ը (թեթև և բազմակողմանի գրաֆիկական գրադարան) անվճար, բաց կոդով գրաֆիկական գրադարան է, գրված C լեզվով, որը տրամադրում է գործիքներ՝ հեշտ օգտագործման գրաֆիկայով GUI-ներ ստեղծելու համար, գեղեցիկ տեսողական էֆեկտներ և ցածր հիշողություն:
LVGL-ը շատ հզոր է, քանի որ այն պարունակում է նախապես սահմանված տարրեր, ինչպիսիք են կոճակները, գծապատկերները, ցուցակները, սլայդերները և պատկերները: Անիմացիաներով գրաֆիկայի ստեղծումը, հակաալիզինգը, անթափանցիկությունը և սահուն ոլորումը պարզեցված է LVGL-ով: Գրադարանը համատեղելի է բազմաթիվ տեսակի մուտքային սարքերի հետ, ինչպիսիք են սենսորային վահանակները, մկնիկները, ստեղնաշարերը և կոդավորիչները: Օգտագործողի այս ձեռնարկի նպատակն է ցույց տալ, թե ինչպես կարելի է հեշտությամբ ստեղծել LCD GUI՝ օգտագործելով AutoDevKit:
Նշում. LVGL-ի մասին լրացուցիչ մանրամասների համար տես պաշտոնական փաստաթղթերը: Աղբյուրի կոդը հասանելի է GitHub-ից ներբեռնելու համար:
AEK-LVGL ճարտարապետությունSTMicroelectronics UM3236 LVGL գրադարաններ LCD էկրանների համար - AEK-LCD-LVGL ճարտարապետությունՎերոնշյալ պատկերը ցույց է տալիս AutoDevKit-ում ինտեգրված LVGL ծրագրաշարի ճարտարապետությունը:
Ծրագրային ապահովման ճարտարապետությունը բնութագրվում է.

  • LVGL գրադարան. այն իրականացնում է առաջադեմ գրաֆիկական գործառույթներ՝ հիմնված AEK-LCD-DT028V1 հիմնական գրաֆիկական գրադարանի վրա.
    – aek_ili9341_drawPixel. այն տպում է պիքսելներ AEK-LCD-DT028V1 LCD-ի վրա;
    – aek_lcd_get_touchFeedback: այն հայտնաբերում է հպում AEK-LCD-DT028V1 LCD սենսորային էկրանին;
    – aek_lcd_read_touchPos. այն ստանում է հպված կետի կոորդինատները;
    – aek_lcd_set_touch Հետադարձ կապ. այն նշում է, որ հպման գործողությունն ավարտված է:
  • Հիմնական գրաֆիկական գրադարան. այն իրականացնում է հիմնական գրաֆիկական գործառույթները և կոչում է ցածր մակարդակի դրայվեր պրիմիտիվներ:
  • Ցածր մակարդակի վարորդ. այն իրականացնում է MCU ծայրամասային սարքեր: Այս դեպքում օգտագործվում է SPI արձանագրությունը:
  • AEK-LCD-DT028V1. LCD գնահատման տախտակ:

LVGL հիմունքներ

LVGL գրադարանը փոխազդում է AEK-LCD-DT028V1 բաղադրիչի հետ երկու վարորդների՝ Disprove-ի և IndevDriver-ի միջոցով, ինչպես ցույց է տրված ստորև նկարում:STMicroelectronics UM3236 LVGL գրադարաններ LCD էկրանների համար - LVGL driversreDisprove-ը պատասխանատու է բուֆերային պատկերի պատրաստման և այն ներքևի շերտին փոխանցելու համար՝ LCD էկրանին ցուցադրելու համար: Այն օգտագործում է հետևյալ lv_disp_drv_t մուտքագրված կառուցվածքը.

  • draw_buf. այն մատնանշում է հիշողության բուֆերային կառուցվածքը, որտեղ LVGL-ը նկարում է:
  •  վարձուներ. էկրանի հորիզոնական լուծումը պիքսելներով:
  • Verres՝ էկրանի ուղղահայաց լուծաչափը պիքսելներով:
  • flush_cb. այն մատնանշում է գործառույթը, որն օգտագործվում է հիշողության բուֆերը LCD էկրանին տպելու համար:
  •  monitor_cb. այն վերահսկում է պիքսելների քանակը և տվյալների ցուցադրման համար պահանջվող ժամանակը:
    Մյուս կողմից, IndevDriver-ը առբերում է LCD հպման տեղեկատվությունը, որը գալիս է ստորին շերտից: Այն օգտագործում է հետևյալ lv_indev_drv_t մուտքագրված կառուցվածքը.
    տեսակ. այս դաշտը պարունակում է մուտքային սարքի տեսակը: Նախապես սահմանված հասանելի մակրոները ներառում են.
    – LV_INDEV_TYPE_POINTER (օգտագործվում է մեր դեպքում)
    – LV_INDEV_TYPE_KEYPAD
    – LV_INDEV_TYPE_ENCODER
    – LV_INDEV_TYPE_BUTTON
    redact. այն մատնանշում է այն ֆունկցիան, որն օգտագործվում է հպման տեղեկատվությունը ստանալու համար:
    flush_cb և redact. կոչվում են պարբերաբար հիմնված, համապատասխանաբար, օգտագործողի կողմից սահմանված էկրանի թարմացման ժամանակաշրջանի և հպման թարմացման մուտքագրման վրա: LVGL գրադարանը կառավարում է թարմացման ժամերը ներքին ժամացույցի միջոցով: Ժամանակի կառավարման համար օգտագործվում են երկու հիմնական LVGL գործառույթներ.
  • lv_tick_inc(uint32_t x). այս ֆունկցիայի նպատակն է համաժամեցնել LVGL ժամանակը MCU-ի ֆիզիկական ժամանակի հետ: Տիզերի թարմացումը պետք է սահմանվի 1-ից 10 միլիվայրկյանների միջակայքում՝ համաձայն LVGL ճշգրտման: Մեջ
    մեր դեպքում, մենք այն սահմանել ենք 5 միլիվայրկյան:
  • lv_timer_handler (void). այն թարմացնում է ներքին LVGL օբյեկտները՝ հիմնվելով անցած ժամանակի վրա: Ֆիզիկական ժամանակը վերահսկվում է MCU-ի ծայրամասային ծրագրավորվող ընդհատման ժամանակաչափի (PIT) միջոցով:

Ինտերֆեյս LVGL-ի և AEK-LCD-DT028V1 բաղադրիչի միջև

AEK-LCD-LVGL-ի և AEK-LCD-DT028V1 բաղադրիչի միջև ինտերֆեյսը իրականացվում է file lcd_lvgl.c անունով, որը գտնվում է «aek_lcd_lvgl_component_rla» թղթապանակի տակ: Սա file պարունակում է գործառույթներ՝

  • սկզբնավորել LVGL գրադարանը,
  • կառավարել LVGL ներքին ժամանակաչափը,
  • ինտերֆեյս LVGL գրադարանը հիմնական գրաֆիկական գրադարանի հետ, որն իրականացվում է AEK-LCD-DT028V1 բաղադրիչով:

Հինգ հիմնական գործառույթները բացատրվում են հետևյալ պարբերություններում:
 3.1 Ցուցադրման սկիզբ
aek_lcd_lvgl_display_init ֆունկցիան սկզբնավորում է երկու LVGL հիմնական կառուցվածքները՝ Disprove և IndevDriver:
 3.1.1 Հերքել
Disprove կառուցվածքի հիմնական նպատակը LVGL-ի համար նկարչական բուֆեր պահելն է: Disprove draw_buf դաշտը ցույց է տալիս հիշողության բուֆերային կառուցվածքը, որը կարող է պարունակել մինչև երկու տարբեր հիշողության բուֆեր: draw_buf դաշտը սկզբնավորվում է lv_disp_draw_buf_init() ֆունկցիայով:STMicroelectronics UM3236 LVGL գրադարաններ LCD էկրանների համար - draw_buf սկզբնավորումՎերոնշյալ կոդում DISP_HOR_RES և DISP_VER_RES պարամետրերը ներկայացնում են LCD չափը:
Նշում.
Բուֆերի չափը պետք է հարմարեցվի՝ համաձայն համակարգի հասանելի հիշողության: Պաշտոնական LVGL ուղեցույցը խորհուրդ է տալիս ընտրել գծագրման բուֆերների չափը էկրանի չափի առնվազն 1/10-ը: Եթե ​​օգտագործվում է երկրորդ կամընտիր բուֆեր, LVGL-ը կարող է դիպչել մեկ բուֆերի վրա, մինչդեռ մյուս բուֆերի տվյալները ուղարկվում են ֆոնային ռեժիմում ցուցադրվելու համար:STMicroelectronics UM3236 LVGL գրադարաններ LCD էկրանների համար - draw_buf սկզբնավորում 1Կառույցի մյուս պարամետրերն են էկրանի չափսերը, երկու ֆունկցիաները՝ flush և monitor_cb, որոնք մենք կվերլուծենք ավելի ուշ։ Լրացնելուց հետո կառույցը պետք է գրանցվի հատուկ lv_disp_drv_register() ֆունկցիայով՝ ակտիվ ցուցադրություն սահմանելու համար:
3.1.2 IndevDriver
IndevDriver-ը սկզբնավորվում է հետևյալ կերպ.STMicroelectronics UM3236 LVGL գրադարաններ LCD էկրանների համար - draw_buf սկզբնավորում 2Հիմնական սահմանված դաշտերն են օգտագործվող սարքի տեսակը և այն կառավարելու գործառույթը: Նաև այս դեպքում, սկզբնականացված կառուցվածքը պետք է գրանցվի, որպեսզի սարքն ակտիվանա:
3.2 Ֆլաշ
Flush ֆունկցիան օգտագործում է AEK-LCD-DT028V1 բաղադրիչի հիմնական գրաֆիկական գրադարանը՝ LCD-ի վրա նկարելու հիշողության բուֆերում առկա պատկերը, որը սկզբնավորվել է ըստ նախորդ պարբերության:STMicroelectronics UM3236 LVGL գրադարաններ LCD էկրանների համար - Flush ֆունկցիաFlush ֆունկցիայի կմախքը տրամադրվել է LVGL ֆունկցիայի միջոցով և հարմարեցված է օգտագործվող LCD էկրանի վարորդի համար (այսինքն՝ aek_ili9341_drawPixel – պիքսելային գծագրում): Ներածման պարամետրերն են.

  • չոր. Հերքելու ցուցիչը
  • տարածք. բուֆեր, որը պարունակում է հատուկ տարածք, որը պետք է թարմացվի
  • գույն. բուֆեր, որը պարունակում է տպման ենթակա գույները:

3.3 monitor_cb
monitor_cb ֆունկցիան սահմանված է պաշտոնական LVGL ուղեցույցում և չի պահանջում հարմարեցումներ:STMicroelectronics UM3236 LVGL գրադարաններ LCD էկրանների համար - monitor_cb ֆունկցիա3.4 my_input_read
My_input_read ֆունկցիան պատասխանատու է LCD էկրանից ստացվող մուտքը բարձր մակարդակով կառավարելու համար:
Ֆունկցիոնալ կմախքը սահմանվում է LVGL գրադարանի կողմից: Ներածման պարամետրերն են.

  • drv՝ ցուցիչ դեպի սկզբնավորվող մուտքային դրայվեր
  • տվյալներ. պարունակում է հպված կետերի պիքսելային փոխարկված x,y կոորդինատը Ստորև բերված պատկերը ցույց է տալիս my_input_read ֆունկցիայի իրականացումը.

STMicroelectronics UM3236 LVGL գրադարաններ LCD էկրանների համար - կարդալու գործառույթ3.5 Թարմացնել էկրանը
aek_lcd_lvgl_refresh_screen ֆունկցիան թարմացնում է LVGL ներքին ժամանակաչափերը:
Նշում. Այս գործառույթը պետք է ճիշտ տեղադրվի հավելվածի կոդում՝ LVGL-ի ժամանակային սահմանափակումները կատարելու համար:STMicroelectronics UM3236 LVGL գրադարաններ LCD էկրանների համար - էկրանի գործառույթ

AutoDevKit էկոհամակարգ

Հավելվածի մշակումը, որն օգտագործում է AEK-LCD-LVGLtage-ից AutoDevKit էկոհամակարգ, որի հիմնական բաղադրիչներն են.

  • AutoDevKit Studio IDE-ը կարող է տեղադրվել www.st.com/autodevkitsw
  • SPC5-UDESTK վրիպազերծող ծրագրակազմ Windows-ի կամ Բաց կարգաբերիչի համար
  •  AEK-LCD-LVGL սկավառակ

4.1 AutoDevKit ստուդիա 
AutoDevKit Studio (STSW-AUTODEVKIT) ինտեգրված զարգացման միջավայր է (IDE), որը հիմնված է Eclipse-ի վրա, որը նախատեսված է SPC5 Power Architecture 32-բիթանոց միկրոկառավարիչների վրա հիմնված ներդրված հավելվածների մշակմանը աջակցելու համար:
Փաթեթը ներառում է հավելվածի հրաշագործ՝ բոլոր համապատասխան բաղադրիչներով և հիմնական տարրերով նախագծեր սկսելու համար, որոնք անհրաժեշտ են հայտի վերջնական կոդն ստեղծելու համար: AutoDevKit Studio-ն ունի նաև.

  • ստանդարտ Eclipse շուկայից այլ ծրագրային արտադրանքների ինտեգրման հնարավորությունը
  • անվճար լիցենզիա GCC GNU C Կազմողի բաղադրիչ
  • աջակցություն արդյունաբերության ստանդարտ կազմողներին
  • բազմամիջուկ միկրոկառավարիչների աջակցություն
  •  PinMap խմբագիր՝ MCU փին կոնֆիգուրացիան հեշտացնելու համար
  •  ինտեգրված ապարատային և ծրագրային բաղադրիչներ, բաղադրիչների համատեղելիության ստուգում և MCU և ծայրամասային կազմաձևման գործիքներ
  • գոյություն ունեցողներից նոր համակարգային լուծումներ ստեղծելու հնարավորություն՝ ավելացնելով կամ հեռացնելով համատեղելի ֆունկցիոնալ տախտակները
  • նոր կոդը կարող է անմիջապես ստեղծվել ցանկացած համատեղելի MCU-ի համար
  •  բարձր մակարդակի կիրառական API-ներ՝ յուրաքանչյուր ֆունկցիոնալ բաղադրիչ վերահսկելու համար, ներառյալ AEK-LCDLVGL բաղադրիչի համար նախատեսվածները:

Լրացուցիչ տեղեկությունների համար տե՛ս UM2623 (մասնավորապես, Բաժին 6 և Բաժին 7) կամ դիտեք տեսանյութերի ձեռնարկները:
4.2 AEK_LCD_LVGL բաղադրիչ
AEK-LVGL դրայվերներին տրամադրվում է STSW-AUTODEVKIT (2.0.0 տարբերակից սկսած) տեղադրում՝ ծրագրավորման փուլը հեշտացնելու համար:
Թարմացրեք ձեր AutoDevKit-ի տեղադրումը` վերջին տարբերակը ստանալու համար: Ճիշտ տեղադրվելուց հետո ընտրեք AEK_LVGL Component RLA անունով բաղադրիչը:
4.2.1 AEK_LCD_LVGL բաղադրիչի կոնֆիգուրացիա
Բաղադրիչը կարգավորելու համար հետևեք ստորև նշված ընթացակարգին:
Քայլ 1. Սահմանեք Refr_Period ժամանակը: Սա էկրանի թարմացման ժամանակաշրջանն է (առաջարկվող արժեքը 30 է):
Քայլ 2. Սահմանեք Read_Period ժամանակը: Սա նվազագույն ժամանակն է երկու հաջորդ հպման հայտնաբերման միջև (առաջարկվող արժեքը 30 է):
Քայլ 3. Նշեք Draw Complex վանդակը, որպեսզի միացնեք առաջադեմ վիդջեթները, ինչպիսիք են ստվերները, գրադիենտները, կլորացված անկյունները, շրջանակները, աղեղները, թեք գծերը և պատկերի փոխակերպումները:
Քայլ 4. Ընտրեք այն տառատեսակները, որոնք ցանկանում եք օգտագործել: Հաշվի առեք, որ յուրաքանչյուր տառատեսակ պահանջում է լրացուցիչ ֆլեշ հիշողություն՝ ստեղծված հավելվածի կոդի համար:STMicroelectronics UM3236 LVGL գրադարաններ LCD էկրանների համար - բաղադրիչ RLA կոնֆիգուրացիա

Ինչպես ստեղծել AutoDevKit նախագիծ AEK-LCD-LVGL բաղադրիչով, որը հիմնված է SPC58EC-ի վրա

Քայլերն են.
Քայլ 1. Ստեղծեք նոր AutoDevKit Studio հավելված SPC58EC սերիայի միկրոկառավարիչի համար և ավելացրեք հետևյալ բաղադրիչները.
– SPC58ECxx Init Package Component RLA
– SPC58ECxx ցածր մակարդակի վարորդների բաղադրիչ RLA
Նշում.
Ավելացրեք այս բաղադրիչները սկզբում, հակառակ դեպքում մնացած բաղադրիչները տեսանելի չեն:
Քայլ 2. Ավելացնել հետևյալ լրացուցիչ բաղադրիչները.
Քայլ 2 ա. AutoDevKit Init փաթեթի բաղադրիչ
Քայլ 2 բ. SPC58ECxx պլատֆորմի բաղադրիչ RLA
Քայլ 2c. AEK-LCD-DT028V1 բաղադրիչ RLA (տես UM2939 կոնֆիգուրացիայի համար)
Քայլ 2 դ. AEK-LCD-LVGL բաղադրիչ RLASTMicroelectronics UM3236 LVGL գրադարաններ LCD էկրանների համար. բաղադրիչների ավելացումՔայլ 3. Սեղմեք [Հատկացում] կոճակը AEK-LCD-LVGL կազմաձևման պատուհանում: Այս գործողությունը պատվիրակում է AEK-LCD-LVGL կոնֆիգուրացիան AutoDevKit-ին:
Քայլ 4. Բաշխումը միացրել է PIT ժմչփ ծայրամասային սարքը: Դուք կարող եք ստուգել այն Low-Level Driver բաղադրիչում:STMicroelectronics UM3236 LVGL գրադարաններ LCD էկրանների համար. բաղադրիչների ավելացումՔայլ 5. Ստեղծեք և կառուցեք հավելվածը՝ օգտագործելով AutoDevKit Studio-ի համապատասխան պատկերակները: Ծրագրի թղթապանակը այնուհետև լրացվում է նորով files, ներառյալ հիմնական.գ. Բաղադրիչի թղթապանակը լցված է այնուհետև AEKLCD-DT028V1 և
AEK-LCD-LVGL վարորդներ.
Քայլ 6. Բացեք մոլագարը file և ներառում են AEK-LCD-DT028V1.h և AEK_LCD_LVGL.h files.STMicroelectronics UM3236 LVGL գրադարաններ LCD էկրանների համար - main.c fileՔայլ 7. մոլագարության մեջ fileirqIsrEnable() ֆունկցիայից հետո տեղադրեք հետևյալ պարտադիր ֆունկցիաները.STMicroelectronics UM3236 LVGL գրադարաններ LCD էկրանների համար - Պարտադիր գործառույթներՔայլ 8. Հիմնական.c-ում պատճենեք և տեղադրեք նախկինըample LVGL գրադարանից վերցված պաշտոնական ուղեցույցից և տեղադրեք այն main():STMicroelectronics UM3236 LVGL գրադարաններ LCD էկրանների համար - Օրինակample fromՔայլ 9. Պահպանեք, ստեղծեք և կազմեք հավելվածը:
Քայլ 10. Բացեք տախտակը view խմբագիր՝ տրամադրված AutoDevKit-ի կողմից Սա տրամադրում է գրաֆիկական կետ առ կետ ուղեցույց, թե ինչպես կարելի է միացնել տախտակները:
Քայլ 11. Միացրեք AEK-LCD-DT028V1-ը ձեր համակարգչի USB միացքին՝ օգտագործելով մինի-USB դեպի USB մալուխ:
Քայլ 12. Գործարկեք SPC5-UDESTK-SW և բացեք վրիպազերծիչները file AEK-LCD-LVGL– Application /UDE պանակում:
Քայլ 13. Գործարկեք և կարգաբերեք ձեր կոդը:

Հասանելի ցուցադրություններ AEK-LVGL-ի համար

Կան մի քանի ցուցադրություններ, որոնք տրամադրվում են AEK-LCD-LVGL բաղադրիչով.

  • SPC582Bxx_RLA AEK_LCD_LVGL թեստային հավելված
  • SPC58ECxx_RLA AEK-LCD_LVGL թեստային հավելված
  • երկակի էկրանով AVAS ցուցադրություն – SPC58ECxx_RLA_MainEcuForIntegratAVASControl – Փորձարկման հավելված

Նշում. Ավելի շատ ցուցադրություններ կարող են հասանելի դառնալ AutoDevKit-ի նոր թողարկումներով:

Ընդլայնված հավելված, օրինակample – երկակի էկրանով AVAS ցուցադրություն

Լրացուցիչ հավելվածը ներդրվել է LVGL-ի միջոցով: Այս հավելվածը էկրանում գծում է մեքենայի չափիչը շարժիչի պտույտների համար և կառավարում համապատասխան չափիչ անիմացիաները:
Իրականացված AVAS հավելվածը հիմնված է AEK-AUD-C1D9031 տախտակի վրա և մոդելավորում է մեքենայի շարժիչի ձայնը ցածր արագությամբ՝ նախազգուշացնելու հետիոտներին էլեկտրական մեքենայի մոտեցման մասին:
Դեմոյում մենք մոդելավորում ենք մեքենայի շարժիչի արագացումն ու դանդաղումը (այսինքն՝ ռ/վ-ի ավելացում/նվազում) և դրա ծավալը AEK-LCD-DT028V1-ի LCD էկրանին տեղադրված կառավարման վահանակի միջոցով:STMicroelectronics UM3236 LVGL գրադարաններ LCD էկրանների համար - Օրինակample fromՄենք ընդլայնել ենք ցուցադրությունը՝ ավելացնելով երկրորդ AEK-LCD-DT028V1 LCD-ը և օգտագործելով LVGL գրադարանը՝ ստեղծելով արագաչափ՝ շարժիչի պտույտների րոպեի արժեքները չափելու համար:
Օգտագործված 7.1 LVGL վիդջեթներ
Երկու էկրանով AVAS ցուցադրություն մշակելու համար մենք օգտագործել ենք հետևյալ LVGL վիդջեթները.

  • Պատկեր, որն օգտագործվում է որպես տախոմետրի ֆոն
  • Որպես տախոմետրի ցուցիչ օգտագործվող աղեղ
  • Անիմացիա, որը թարմացնում է աղեղի արժեքը՝ ըստ շարժիչի պտույտի

7.1.1 LVGL պատկերի վիդջեթ
LVGL գրադարանով պատկեր օգտագործելու համար այն փոխարկեք C զանգվածի՝ օգտագործելով անվճար առցանց փոխարկիչ.STMicroelectronics UM3236 LVGL գրադարաններ LCD էկրանների համար - LVGL պատկերի վիդջեթՆշում.
Պատկերը փոխարկելիս հիշեք նշել Big-Endian ձևաչափի վանդակը:
AVAS-ի կրկնակի էկրանի ցուցադրությունում տախոմետրի պատկերը ներկայացնող C զանգվածը ստացել է Gauge անվանումը: Պատկերի վիջեթը հարմարեցվել է որպես հետևում է.STMicroelectronics UM3236 LVGL գրադարաններ LCD էկրանների համար - Տախոմետրի ֆոնային պատկերՈրտեղ:

  • lv_img_declare. օգտագործվում է Gauge կոչվող պատկերը հայտարարելու համար:
  • lv_img_create. օգտագործվում է պատկերի օբյեկտ ստեղծելու և այն ընթացիկ էկրանին կցելու համար:
  •  lv_img_set_src. սա նախկինում ցուցադրված LVGL փոխարկիչից ստացված պատկերն է (խորհուրդ է տրվում օգտագործել jpg ձևաչափը):
  • lv_obj_align. օգտագործվում է պատկերը կենտրոնին համապատասխանեցնելու համար՝ տրված օֆսեթով:
  • lv_obj_set_size: օգտագործվում է պատկերի չափը սահմանելու համար:

Նշում.
Լրացուցիչ մանրամասների համար, թե ինչպես կառավարել պատկերը LVGL գրադարանով, տես պաշտոնական փաստաթղթերը:
7.1.2 LVGL աղեղային վիդջեթ
Ստեղծվել է բազմագույն աղեղ՝ շարժիչի ակնթարթային պտույտները ցույց տալու համար: Բազմագույն աղեղը բաղկացած է երկու իրար հաջորդող գույներից՝ համապատասխանաբար կարմիր և կապույտ։STMicroelectronics UM3236 LVGL գրադարաններ LCD էկրանների համար - AVAS արագաչափՀետևյալ կոդը ցույց է տալիս, թե ինչպես ստեղծել աղեղ:STMicroelectronics UM3236 LVGL գրադարաններ LCD էկրանների համար - AVAS արագաչափՈրտեղ:

  • lv_arc_create. ստեղծում է աղեղային օբյեկտ:
  • lv_arc_set_rotation. սահմանում է աղեղի պտույտը:
  •  lv_arc_set_bg_angles. սահմանում է աղեղի առավելագույն և նվազագույն արժեքը աստիճաններով:
  • lv_arc_set_value. աղեղի սկզբնական արժեքը սահմանում է զրո:
  •  lv_obj_set_size: սահմանում է աղեղի չափերը:
  • lv_obj_remove_style. հեռացնում է աղեղի վերջնական ցուցիչը:
  • lv_obj_clear_flag. սահմանում է աղեղը որպես չսեղմվող:
  • lv_obj_align. հավասարեցնում է աղեղը դեպի կենտրոն՝ նշված շեղմամբ:

7.1.3 Վիջեթի հետ կապված անիմացիա
Ստեղծվում է կամարային անիմացիայի հատուկ ֆունկցիա և փոխանցվում է LVGL շարժիչին՝ rpm-ի փոփոխությունները ցուցադրելու համար: Գործառույթի կոդը հետևյալը.STMicroelectronics UM3236 LVGL գրադարաններ LCD էկրանների համար - անիմացիոն ֆունկցիաՈրտեղ:

  • arc. ցուցիչն է ընթացիկ աղեղային վիդջեթին
  •  հետաձգում. ուշացման ժամանակն է մինչև անիմացիայի մեկնարկը
  • սկիզբ. սկզբնական աղեղի դիրքն է
  •  վերջ՝ աղեղի վերջնական դիրքն է
  • արագություն. անիմացիայի արագությունն է միավոր/վրկ.

Նշում. Օգտագործված անիմացիոն գործառույթների մասին լրացուցիչ մանրամասների համար տես LVGL փաստաթղթերը: Հաշվի առնելով, որ ամբողջական աղեղը բաղկացած է երկու իրար հաջորդող կամարներից, մենք պետք է ճիշտ կառավարեինք անիմացիոն ֆունկցիան։ Այս նպատակով եկեք վերլուծենք երկու տարբեր սցենարներ.

  1. Դեպք. անիմացիան ներառում է մեկ աղեղ Այս պարզ դեպքում մենք մեկ անիմացիա ենք հատկացնում աղեղին:STMicroelectronics UM3236 LVGL գրադարաններ LCD էկրանների համար - Arc animationq
  2. Դեպք. անիմացիան ներառում է երկու կամար։ Այս դեպքում երկրորդ աղեղի անիմացիան սկսվում է առաջինի անիմացիայի վերջում։STMicroelectronics UM3236 LVGL գրադարաններ LCD էկրանների համար - Arc անիմացիան

Հատուկ LVGL ֆունկցիան (lv_anim_speed_to_time) հաշվարկում է անիմացիայի ժամանակը: Այս կատարման ժամանակը օգտագործվում է երկրորդ աղեղային անիմացիայի հետաձգումը հաշվարկելու համար:STMicroelectronics UM3236 LVGL գրադարաններ LCD էկրանների համար - երկրորդ աղեղի էլեյ7.2 Երկկողմանի իրականացում
Երկու էկրանով AVAS ցուցադրությունում ցուցադրման և աուդիո նվագարկման առաջադրանքները միաժամանակ կատարվում են իրական ժամանակի ներկառուցված համակարգում: Համակարգի արձագանքման հնարավոր կորուստը հաղթահարելու համար մենք որոշել ենք օգտագործել երկու տարբեր միջուկներ՝ մեկը նվիրված էկրանին և մեկը՝ աուդիո նվագարկմանը:
AEK-MCU-C4MLIT1 տախտակն ունի SPC58EC80E5 միկրոկոնտրոլեր՝ երկմիջուկային պրոցեսորով, որը լավագույնս համապատասխանում է վերը նկարագրված գործին:
Մանրամասն՝

  • Core 2. Այն առաջինն է, որը սկսում է, այն սկզբնավորում է գրադարանը և այնուհետև կատարում հավելվածի կոդը:
  • Core 0: Այն կանչում է aek_lcd_lvgl_refresh_screen() ֆունկցիան հիմնական հանգույցում, որպեսզի անընդհատ թարմացվի էկրանը և կարդա հպման մուտքագրումը:

STMicroelectronics UM3236 LVGL գրադարաններ LCD էկրանների համար - SPC58EC80E5 միկրոկոնտրոլերի միջուկի սկզբնավորումPIT ֆունկցիաները և aek_lcd_lvgl_refresh_screen()-ը պետք է տեղադրվեն նույն միջուկում:
Վերանայման պատմություն
Աղյուսակ 1. Փաստաթղթերի վերանայման պատմություն

Ամսաթիվ Վերանայման Փոփոխություններ
4-Հոկտեմբեր-23 1 Նախնական թողարկում.

ԿԱՐԵՎՈՐ ԾԱՆՈՒՑՈՒՄ – ԿԱՐԴԱՑԵՔ ՈՒՇԱԴՐՈՒԹՅՈՒՆ
STMicroelectronics NV-ն և նրա դուստր ձեռնարկությունները («ST») իրավունք են վերապահում ցանկացած պահի առանց նախազգուշացման փոփոխություններ, ուղղումներ, բարելավումներ, փոփոխություններ և բարելավումներ կատարել ST արտադրանքներում և/կամ այս փաստաթղթում: Գնորդները պետք է ստանան ST ապրանքների վերաբերյալ վերջին համապատասխան տեղեկատվությունը, նախքան պատվերներ տեղադրելը: ST ապրանքները վաճառվում են ST-ի վաճառքի պայմանների և պայմանների համաձայն, որոնք գործում են պատվերի հաստատման պահին: Գնորդները բացառապես պատասխանատու են ST ապրանքների ընտրության, ընտրության և օգտագործման համար, և ST-ն պատասխանատվություն չի կրում դիմումների աջակցության կամ գնորդների արտադրանքի ձևավորման համար:
Սույնով ST-ի կողմից որևէ մտավոր սեփականության իրավունքի բացահայտ կամ ենթադրյալ լիցենզիա չի տրվում:
ST արտադրանքի վերավաճառք՝ սույն հոդվածում նշված տեղեկատվությունից տարբերվող դրույթներով, անվավեր է դարձնում ST-ի կողմից նման արտադրանքի համար տրված ցանկացած երաշխիք:
ST-ը և ST լոգոն ST-ի ապրանքային նշաններն են: ST ապրանքանիշերի մասին լրացուցիչ տեղեկությունների համար տե՛ս www.st.com/trademarks. Բոլոր այլ ապրանքների կամ ծառայությունների անվանումները իրենց համապատասխան սեփականատերերի սեփականությունն են:
Այս փաստաթղթի տեղեկատվությունը փոխարինում և փոխարինում է այս փաստաթղթի ցանկացած նախկին տարբերակներում նախկինում տրված տեղեկատվությանը: © 2023 STMicroelectronics – Բոլոր իրավունքները պաշտպանված են

STMicroelectronics լոգոնUM3236 – Rev 1 – Հոկտեմբեր 2023
Լրացուցիչ տեղեկությունների համար դիմեք ձեր տեղական STMicroelectronics վաճառքի

Փաստաթղթեր / ռեսուրսներ

STMicroelectronics UM3236 LVGL գրադարաններ LCD էկրանների համար [pdf] Օգտագործողի ձեռնարկ
AEK-LCD-DT028V1, UM3236, UM3236 LVGL գրադարաններ LCD էկրանների համար, LVGL գրադարաններ LCD էկրանների համար, գրադարաններ LCD էկրանների համար, LCD էկրաններ

Հղումներ

Թողնել մեկնաբանություն

Ձեր էլփոստի հասցեն չի հրապարակվի: Պարտադիր դաշտերը նշված են *