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 ճարտարապետություն
Վերոնշյալ պատկերը ցույց է տալիս 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-ի միջոցով, ինչպես ցույց է տրված ստորև նկարում:
Disprove-ը պատասխանատու է բուֆերային պատկերի պատրաստման և այն ներքևի շերտին փոխանցելու համար՝ 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() ֆունկցիայով:
Վերոնշյալ կոդում DISP_HOR_RES և DISP_VER_RES պարամետրերը ներկայացնում են LCD չափը:
Նշում.
Բուֆերի չափը պետք է հարմարեցվի՝ համաձայն համակարգի հասանելի հիշողության: Պաշտոնական LVGL ուղեցույցը խորհուրդ է տալիս ընտրել գծագրման բուֆերների չափը էկրանի չափի առնվազն 1/10-ը: Եթե օգտագործվում է երկրորդ կամընտիր բուֆեր, LVGL-ը կարող է դիպչել մեկ բուֆերի վրա, մինչդեռ մյուս բուֆերի տվյալները ուղարկվում են ֆոնային ռեժիմում ցուցադրվելու համար:
Կառույցի մյուս պարամետրերն են էկրանի չափսերը, երկու ֆունկցիաները՝ flush և monitor_cb, որոնք մենք կվերլուծենք ավելի ուշ։ Լրացնելուց հետո կառույցը պետք է գրանցվի հատուկ lv_disp_drv_register() ֆունկցիայով՝ ակտիվ ցուցադրություն սահմանելու համար:
3.1.2 IndevDriver
IndevDriver-ը սկզբնավորվում է հետևյալ կերպ.
Հիմնական սահմանված դաշտերն են օգտագործվող սարքի տեսակը և այն կառավարելու գործառույթը: Նաև այս դեպքում, սկզբնականացված կառուցվածքը պետք է գրանցվի, որպեսզի սարքն ակտիվանա:
3.2 Ֆլաշ
Flush ֆունկցիան օգտագործում է AEK-LCD-DT028V1 բաղադրիչի հիմնական գրաֆիկական գրադարանը՝ LCD-ի վրա նկարելու հիշողության բուֆերում առկա պատկերը, որը սկզբնավորվել է ըստ նախորդ պարբերության:
Flush ֆունկցիայի կմախքը տրամադրվել է LVGL ֆունկցիայի միջոցով և հարմարեցված է օգտագործվող LCD էկրանի վարորդի համար (այսինքն՝ aek_ili9341_drawPixel – պիքսելային գծագրում): Ներածման պարամետրերն են.
- չոր. Հերքելու ցուցիչը
- տարածք. բուֆեր, որը պարունակում է հատուկ տարածք, որը պետք է թարմացվի
- գույն. բուֆեր, որը պարունակում է տպման ենթակա գույները:
3.3 monitor_cb
monitor_cb ֆունկցիան սահմանված է պաշտոնական LVGL ուղեցույցում և չի պահանջում հարմարեցումներ:
3.4 my_input_read
My_input_read ֆունկցիան պատասխանատու է LCD էկրանից ստացվող մուտքը բարձր մակարդակով կառավարելու համար:
Ֆունկցիոնալ կմախքը սահմանվում է LVGL գրադարանի կողմից: Ներածման պարամետրերն են.
- drv՝ ցուցիչ դեպի սկզբնավորվող մուտքային դրայվեր
- տվյալներ. պարունակում է հպված կետերի պիքսելային փոխարկված x,y կոորդինատը Ստորև բերված պատկերը ցույց է տալիս my_input_read ֆունկցիայի իրականացումը.
3.5 Թարմացնել էկրանը
aek_lcd_lvgl_refresh_screen ֆունկցիան թարմացնում է LVGL ներքին ժամանակաչափերը:
Նշում. Այս գործառույթը պետք է ճիշտ տեղադրվի հավելվածի կոդում՝ LVGL-ի ժամանակային սահմանափակումները կատարելու համար:
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. Ընտրեք այն տառատեսակները, որոնք ցանկանում եք օգտագործել: Հաշվի առեք, որ յուրաքանչյուր տառատեսակ պահանջում է լրացուցիչ ֆլեշ հիշողություն՝ ստեղծված հավելվածի կոդի համար:
Ինչպես ստեղծել 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 բաղադրիչ RLA
Քայլ 3. Սեղմեք [Հատկացում] կոճակը AEK-LCD-LVGL կազմաձևման պատուհանում: Այս գործողությունը պատվիրակում է AEK-LCD-LVGL կոնֆիգուրացիան AutoDevKit-ին:
Քայլ 4. Բաշխումը միացրել է PIT ժմչփ ծայրամասային սարքը: Դուք կարող եք ստուգել այն Low-Level Driver բաղադրիչում:
Քայլ 5. Ստեղծեք և կառուցեք հավելվածը՝ օգտագործելով AutoDevKit Studio-ի համապատասխան պատկերակները: Ծրագրի թղթապանակը այնուհետև լրացվում է նորով files, ներառյալ հիմնական.գ. Բաղադրիչի թղթապանակը լցված է այնուհետև AEKLCD-DT028V1 և
AEK-LCD-LVGL վարորդներ.
Քայլ 6. Բացեք մոլագարը file և ներառում են AEK-LCD-DT028V1.h և AEK_LCD_LVGL.h files.
Քայլ 7. մոլագարության մեջ fileirqIsrEnable() ֆունկցիայից հետո տեղադրեք հետևյալ պարտադիր ֆունկցիաները.
Քայլ 8. Հիմնական.c-ում պատճենեք և տեղադրեք նախկինըample LVGL գրադարանից վերցված պաշտոնական ուղեցույցից և տեղադրեք այն main():
Քայլ 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 էկրանին տեղադրված կառավարման վահանակի միջոցով:
Մենք ընդլայնել ենք ցուցադրությունը՝ ավելացնելով երկրորդ AEK-LCD-DT028V1 LCD-ը և օգտագործելով LVGL գրադարանը՝ ստեղծելով արագաչափ՝ շարժիչի պտույտների րոպեի արժեքները չափելու համար:
Օգտագործված 7.1 LVGL վիդջեթներ
Երկու էկրանով AVAS ցուցադրություն մշակելու համար մենք օգտագործել ենք հետևյալ LVGL վիդջեթները.
- Պատկեր, որն օգտագործվում է որպես տախոմետրի ֆոն
- Որպես տախոմետրի ցուցիչ օգտագործվող աղեղ
- Անիմացիա, որը թարմացնում է աղեղի արժեքը՝ ըստ շարժիչի պտույտի
7.1.1 LVGL պատկերի վիդջեթ
LVGL գրադարանով պատկեր օգտագործելու համար այն փոխարկեք C զանգվածի՝ օգտագործելով անվճար առցանց փոխարկիչ.
Նշում.
Պատկերը փոխարկելիս հիշեք նշել Big-Endian ձևաչափի վանդակը:
AVAS-ի կրկնակի էկրանի ցուցադրությունում տախոմետրի պատկերը ներկայացնող C զանգվածը ստացել է Gauge անվանումը: Պատկերի վիջեթը հարմարեցվել է որպես հետևում է.
Որտեղ:
- 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 աղեղային վիդջեթ
Ստեղծվել է բազմագույն աղեղ՝ շարժիչի ակնթարթային պտույտները ցույց տալու համար: Բազմագույն աղեղը բաղկացած է երկու իրար հաջորդող գույներից՝ համապատասխանաբար կարմիր և կապույտ։
Հետևյալ կոդը ցույց է տալիս, թե ինչպես ստեղծել աղեղ:
Որտեղ:
- 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-ի փոփոխությունները ցուցադրելու համար: Գործառույթի կոդը հետևյալը.
Որտեղ:
- arc. ցուցիչն է ընթացիկ աղեղային վիդջեթին
- հետաձգում. ուշացման ժամանակն է մինչև անիմացիայի մեկնարկը
- սկիզբ. սկզբնական աղեղի դիրքն է
- վերջ՝ աղեղի վերջնական դիրքն է
- արագություն. անիմացիայի արագությունն է միավոր/վրկ.
Նշում. Օգտագործված անիմացիոն գործառույթների մասին լրացուցիչ մանրամասների համար տես LVGL փաստաթղթերը: Հաշվի առնելով, որ ամբողջական աղեղը բաղկացած է երկու իրար հաջորդող կամարներից, մենք պետք է ճիշտ կառավարեինք անիմացիոն ֆունկցիան։ Այս նպատակով եկեք վերլուծենք երկու տարբեր սցենարներ.
- Դեպք. անիմացիան ներառում է մեկ աղեղ Այս պարզ դեպքում մենք մեկ անիմացիա ենք հատկացնում աղեղին:

- Դեպք. անիմացիան ներառում է երկու կամար։ Այս դեպքում երկրորդ աղեղի անիմացիան սկսվում է առաջինի անիմացիայի վերջում։

Հատուկ LVGL ֆունկցիան (lv_anim_speed_to_time) հաշվարկում է անիմացիայի ժամանակը: Այս կատարման ժամանակը օգտագործվում է երկրորդ աղեղային անիմացիայի հետաձգումը հաշվարկելու համար:
7.2 Երկկողմանի իրականացում
Երկու էկրանով AVAS ցուցադրությունում ցուցադրման և աուդիո նվագարկման առաջադրանքները միաժամանակ կատարվում են իրական ժամանակի ներկառուցված համակարգում: Համակարգի արձագանքման հնարավոր կորուստը հաղթահարելու համար մենք որոշել ենք օգտագործել երկու տարբեր միջուկներ՝ մեկը նվիրված էկրանին և մեկը՝ աուդիո նվագարկմանը:
AEK-MCU-C4MLIT1 տախտակն ունի SPC58EC80E5 միկրոկոնտրոլեր՝ երկմիջուկային պրոցեսորով, որը լավագույնս համապատասխանում է վերը նկարագրված գործին:
Մանրամասն՝
- Core 2. Այն առաջինն է, որը սկսում է, այն սկզբնավորում է գրադարանը և այնուհետև կատարում հավելվածի կոդը:
- Core 0: Այն կանչում է aek_lcd_lvgl_refresh_screen() ֆունկցիան հիմնական հանգույցում, որպեսզի անընդհատ թարմացվի էկրանը և կարդա հպման մուտքագրումը:
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 – Բոլոր իրավունքները պաշտպանված են
UM3236 – Rev 1 – Հոկտեմբեր 2023
Լրացուցիչ տեղեկությունների համար դիմեք ձեր տեղական STMicroelectronics վաճառքի
Փաստաթղթեր / ռեսուրսներ
![]() |
STMicroelectronics UM3236 LVGL գրադարաններ LCD էկրանների համար [pdf] Օգտագործողի ձեռնարկ AEK-LCD-DT028V1, UM3236, UM3236 LVGL գրադարաններ LCD էկրանների համար, LVGL գրադարաններ LCD էկրանների համար, գրադարաններ LCD էկրանների համար, LCD էկրաններ |
