在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

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

3天內不再提示

零基礎開發小安派-Eyes-S1【進階篇】——初識 LVGL 并搭建最小工程

AIoT行業洞察 ? 來源:AIoT行業洞察 ? 作者:AIoT行業洞察 ? 2025-01-06 16:14 ? 次閱讀

AiPi-Eyes-S1是安信可開源團隊專門為Ai-M61-32S設計的一款開發板,支持WiFi6、BLE5.3。所搭載的Ai-M61-32S 模組具有豐富的外設接口,具體包括 DVP、MJPEG、Dispaly、AudioCodec、USB2.0、SDU、以太網 (EMAC)、SD/MMC(SDH)、SPI、UARTI2C、I2S、PWM、GPDAC、GPADC、ACOMP 和 GPIO 等。

AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。

從零開始學習小安派:

1、零基礎開發小安派-Eyes-S1【入門篇】——初識小安派-Eyes-S1

2、零基礎開發小安派-Eyes-S1【入門篇】——安裝VMware與Ubuntu

3、入門篇:零基礎開發小安派-Eyes-S1——新建工程并燒錄調試

4、零基礎開發小安派-Eyes-S1入門篇——Win下SSH連接Linux

5、零基礎開發小安派-Eyes-S1【入門篇】——Samba共享文件夾

6、零基礎開發小安派-Eyes-S1【入門篇】——工程文件架構

7、零基礎開發小安派-Eyes-S1【外設篇】——GPIO 輸入輸出

8、零基礎開發小安派-Eyes-S1【外設篇】——GPIO中斷編程

9、零基礎開發小安派-Eyes-S1【外設篇】——PWM

10、零基礎開發小安派-Eyes-S1【外設篇】——UART

11、零基礎開發小安派-Eyes-S1【外設篇】——I2C

12、零基礎開發小安派-Eyes-S1【外設篇】——ADC

13、零基礎開發小安派-Eyes-S1【外設篇】——I2S

14、零基礎開發小安派-Eyes-S1【外設篇】——TIMER

15、零基礎開發小安派-Eyes-S1【外設篇】——DAC

教程已經更新了一段時間了,現在和各位小伙伴一同進入小安派的進階篇。進階篇的內容其實只是加上了 LVGL 的運用,可以更加直觀的使用交互界面而完成一個中控屏的項目。

LVGL(輕量級和通用圖形庫) 是一個免費和開源的圖形庫,它提供了創建嵌入式 GUI 所需的一切,具有易于使用的圖形元素,美麗的視覺效果和低內存占用。小安派-Eyes-S1配備了一塊3.5寸的屏幕,搭配上LVGL可以顯示所需的交互界面。

01、安裝 GUI-Guider

GUI-Guider 是恩智浦為 LVGL 開發的一個上位機 GUl 設計工具,可以通過拖放控件的方式設計 LVGL GUl 頁面,加速 GUI 的設計,總得來說,可以使用這個軟件設計需要顯示的內容以及交互界面,相當于設計一個前端界面。

這里先附上LVGL的開發手冊(全英):LVGL 官方手冊

看不懂英文的可以用百問網的LVGL中文手冊:百問網 LVGL 手冊

首先進入NXP的官網,這里附上網址:NPX 官網

搜索 GUI Guider,這里可能需要注冊賬號,跟隨提示注冊好賬號后才可以正常下載軟件

wKgZO2d7kMSAJAFJAACo0k1Ogbo923.jpg

在下載里選擇對應的軟件下載,這里選擇1.6.1的 win10 版本(實測筆者的win11 系統一樣可以使用)。

wKgZPGd7kMWALIXHAACcTfTKesw856.jpg

下載完需要的安裝包后,點擊打開安裝程序。

wKgZO2d7kMaAN5fSAACmDI_qb2s888.jpg

選擇下載的位置,這里在E盤中常用的位置創建了相應的文件夾。

wKgZPGd7kMaAXhHMAABmNjf6T70251.jpg

點擊下一步等待完成安裝。

wKgZO2d7kMeAL76CAAAyUV0Reqc993.jpg

安裝完成后點擊進入軟件界面。

02、設計一個最簡單的 UI 界面

點擊 Create a new project,創建新的工程。

wKgZPGd7kMeAEMq6AAB_BEQytGQ441.jpg

LVGL 版本選擇 V8.3.5。

wKgZO2d7kMiAWOpgAACKxlDtbC8939.jpg

設備模板選擇模擬Simulator

wKgZPGd7kMuAdUiMAADPikTPHIQ880.jpg

選擇 EmptyUI空白模板。

wKgZO2d7kMuADaltAAEBZHy1S30292.jpg

項目配置信息,填入工程名字,工程目錄(建議在自己方便查找的位置建立一個 Project 文件夾存儲所有的工程文件),色彩深度選擇 16bit 即可。

面板類型根據顯示屏類型來選擇,S1 配備的3.5寸屏幕,由于默認的顯示屏是豎屏顯示的,可以選擇自定義 240x320,筆者個人比較喜歡橫屏顯示,選擇 320x240,后續修改顯示屏配置文件旋轉 90°即可。

wKgZPGd7kMuAJtCPAADMvSZvRVM323.jpg

在前面的截圖中可能會是英文界面,但也基本能看懂。在創建了第一個工程后可以在界面進行一些頁面顯示設置,右上角有語言的設置,這里選擇中文,界面的顏色選擇暗色。

wKgZO2d7kMyADlrWAADFZRd2r4o048.jpg

wKgZPGd7kMyAWxu6AAA-qPFH2GY974.jpg

這是 Gui-Guider 的基本界面。

首先設置背景板,可以在右側的屬性中選擇自己喜歡的顏色和透明板,這里選擇淺藍色。

添加一個二維碼組件,右側屬性中可以填入掃碼的內容。

添加一個文本框,右側輸入想輸入的內容,大小隨意調整,可以拖動邊框移動位置。這里注意字體選擇 simsun,可以顯示中文

添加字體的方式可以在上面的“工具”導入字體,也可以在資源管理-字體,導入自己喜歡的字體。

wKgZO2d7kM2AS1EVAAD7ex9koKM030.jpg

點擊右上角的綠色三角型進行仿真,可以看到仿真出來的顯示效果。同時會生成 LVGL 的工程文件文件方便移植。

03、將生成的 LVGL 文件移植到小安派

首先將 aithinker_Ai-M6X_SDK 中examples 下的 lvgl 工程文件夾復制下來。粘貼到SDK外方便管理,這里放在 AiPi-Open-Kits 下,也就是和其它demo的同一層。

wKgZPGd7kM2ANvGdAAEJSqk5WnA349.jpg

簡簡單單修改個文件名。修改一下 Makefile,一樣鏈接到 SDK。

wKgZO2d7kM6AdQf4AADlC6LZrYY080.jpg

在修改下 flash_prog_cfg.ini,注意燒錄名稱和文件夾名稱一致。

wKgZPGd7kM6ALyKJAADWvhFuG8Y420.jpg

為了方便工程文件的管理,把原文件下的 demos 文件夾、lcd_conf_user.h、lv_conf.h 全刪了,創建 components 文件夾,在 components 文件夾下創建 UI 文件夾

關鍵的地方來了!需要添加新的 lcd_conf_user.h、lv_conf.h,以及觸控 IC 配置文件 touch_conf_user.h 到 UI 文件夾下。

這三個文件推薦在AiPi-Radar-WakeUp工程下尋找,路徑在componets下的UI界面(和剛剛創建的一樣),這里可以看到多了兩個lv_user_config 的.c 和.h 文件,這兩個文件目前使用 rtos ,本次教程暫時不用。

wKgZO2d7kM-AKZMWAACitCi7tio455.jpg

wKgZPGd7kM-AI2GsAABEr5OBswk501.jpg

UI界面下還有兩個 custom 和 generated 文件夾,這是剛剛從 GUI-Guider 中生成的工程中 copy 過來的,進入前面生成的 LVGL 工程目錄中(如下圖),復制custom 和 generated,粘貼到UI 文件夾下

wKgZO2d7kM-AXfXUAADXxRizYHE485.jpg

wKgZPGd7kNCAOqLBAAC3kMoX0fo171.jpg

這里使用 Samba,所以在Linux 和 Windows 共同操作文件很方便,不會的朋友看之前出過的教程,因為不僅僅適用于本教程。

(五)零基礎開發小安派-Eyes-S1【入門篇】——Samba 共享文件夾)https://bbs.ai-thinker.com/forum.php?mod=viewthread&tid=455&extra=page%3D1&_dsign=b74f34c9

修改CMakeLists.txt,將剛剛添加的所有文件、文件夾參與編譯。

wKgZPGd7kNGAPdZAAAEjxwCPNFo204.jpg

最后修改Main,由于只顯示圖片,觸控功能也還沒用上,簡單調用一下,注釋可以查看如下代碼。

Main

#include "board.h"
#include "bflb_gpio.h"
#include "bflb_l1c.h"
#include "bflb_mtimer.h"
#include "lv_conf.h"
#include "lvgl.h"
#include "lv_port_disp.h"
#include "lv_port_indev.h"
#include "lcd.h"
#include "gui_guider.h"
#include "custom.h"
lv_ui guider_ui;
//該類型變量必須是全局變量
/* lvgl log cb */
void lv_log_print_g_cb(const char *buf)
{
printf("[LVGL] %s", buf);
}
int main(void)
{
board_init();
printf("lvgl casern");
/* lvgl init */
lv_log_register_print_cb(lv_log_print_g_cb);
lv_init();
//顯示器初始化
lv_port_disp_init();
//外部輸入初始化(Touch觸摸)
lv_port_indev_init();
//設計小部件的UI布局
setup_ui(&guider_ui);
printf("lv_task_handlerrn");
custom_init(&guider_ui);
printf("lvgl successrn");
while (1) {
//LVGL事物處理
lv_task_handler();
bflb_mtimer_delay_ms(1);
}
}

04、配置文件修改

看到前面是不是迫不及待編譯?發現編譯不了,因為還沒說完,這里LVGL 工程是添加了二維碼控件的,所以需要修改 lv_conf.h 下的控件,打開 lv_conf.h,可以看到里面有許多控件的宏定義,這邊打開對應的宏定義即可,聰明的小伙伴應該知道了在工程中添加了什么組件,需要這邊打開對應的宏定義,QRCODE 控件在 667 行,將 0 改為 1.保存編譯燒錄即可。

wKgZO2d7kNGAAA-RAAFT89813Qk852.jpg

燒錄完是不是看到圖片是豎著的,因為又還沒說完,前面提到的分辨率設置問題,320x240還是240x320。這里選擇 320x240 設置就是橫屏顯示,但是屏幕默認是豎屏顯示,所以需要修改 lcd_conf_user.h。順便教給大家配置的方法,3.5 寸屏幕和 2.4 寸屏幕共用一個驅動。所以進入到 lcd_conf_user.h 中,首先宏定義屏幕驅動。

wKgZPGd7kNKANFRAAACcye6Ly6A784.jpg

LCD_SPI_ST7796_Ai 是屏幕驅動,然后下拉到 LCD_SPI_ST7796_Ai 的相關配置下,修改顯示的配置,將 LCD_ROTATED_NONE 注釋掉,然后將 LCD_ROTATED_90 取消注釋,這樣屏幕就是橫屏顯示了。

wKgZO2d7kNKALXthAAFQ4-jL3d8049.jpg

05、效果顯示

屏幕效果展示

https://docs.ai-thinker.com/aipi-jc (二維碼自動識別)

掃碼后頁面顯示

wKgZPGd7kNOAE5dLAAM2QBcEzp4088.jpg

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 開發板
    +關注

    關注

    25

    文章

    5081

    瀏覽量

    97692
  • LVGL
    +關注

    關注

    1

    文章

    87

    瀏覽量

    2994
收藏 人收藏

    評論

    相關推薦

    零基開發小安-Eyes-S1——初識LVGL搭建最小工程

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從開始學習小安
    的頭像 發表于 01-03 14:09 ?281次閱讀

    零基開發小安-Eyes-S1 外設——DAC

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從開始學習小安
    的頭像 發表于 12-27 10:55 ?751次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b> 外設<b class='flag-5'>篇</b>——DAC

    零基開發小安-Eyes-S1外設——I2S

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從開始學習小安
    的頭像 發表于 12-13 18:02 ?1051次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>外設<b class='flag-5'>篇</b>——I2<b class='flag-5'>S</b>

    零基開發小安-Eyes-S1【外設】——FLASH

    。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從開始學習小安
    的頭像 發表于 12-05 14:31 ?233次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>【外設<b class='flag-5'>篇</b>】——FLASH

    零基開發小安-Eyes-S1 外設 ——I2C

    。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從開始學習小安
    的頭像 發表于 11-27 16:39 ?252次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b> 外設<b class='flag-5'>篇</b> ——I2C

    零基開發小安-Eyes-S1【入門】——工程文件架構

    -Eyes-S1【入門】——初識小安-Eyes-S12、
    的頭像 發表于 11-06 16:10 ?190次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>【入門<b class='flag-5'>篇</b>】——<b class='flag-5'>工程</b>文件架構

    零基開發小安-Eyes-S1【外設】——PWM

    小安-Eyes-S1【入門】——初識小安-
    的頭像 發表于 11-06 16:10 ?181次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>【外設<b class='flag-5'>篇</b>】——PWM

    零基開發小安-Eyes-S1外設——GPIO中斷編程

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 產品資料:https://docs.ai-thinker.com/eyes
    的頭像 發表于 10-29 14:56 ?773次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>外設<b class='flag-5'>篇</b>——GPIO中斷編程

    零基開發小安-Eyes-S1外設——GPIO 輸入輸出

    等。 AiPi-Eyes-S1集成了SPI屏幕接口,DVP攝像頭接口,外置ES8388音頻編解碼芯片以及預留TF卡座,并且引出USB接口,可接入USB攝像頭。 從開始學習小安
    的頭像 發表于 10-25 13:50 ?1045次閱讀
    <b class='flag-5'>零基</b>礎<b class='flag-5'>開發</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>外設<b class='flag-5'>篇</b>——GPIO 輸入輸出

    開發教程 零基開發小安-Eyes-S1入門——Win下SSH連接Linux

    AiPi-Eyes-S1 是安信可開源團隊專門為Ai-M61-32S設計的一款開發板,支持WiFi6、BLE5.3。所搭載的Ai-M61-32S 模組具有豐富的外設接口,具體包括 DV
    的頭像 發表于 09-24 14:31 ?319次閱讀
    <b class='flag-5'>開發</b>教程 <b class='flag-5'>零基</b>礎<b class='flag-5'>開發</b><b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>入門<b class='flag-5'>篇</b>——Win下SSH連接Linux

    RT-Thread驅動開發指南進階篇-動手驅動先楫未適配的外設LCD

    經過上一的《《RT-Thread設備驅動開發指南》基礎--以先楫bsp的hwtimer設備為例》闡述,可以大致了解到RT-thread設備驅動開發的方法步驟,
    的頭像 發表于 02-25 11:04 ?2632次閱讀
    RT-Thread驅動<b class='flag-5'>開發</b>指南<b class='flag-5'>進階篇</b>-動手驅動先楫未適配的外設LCD

    RK3568驅動指南|驅動基礎進階篇-進階5 自定義實現insmod命令實驗

    RK3568驅動指南|驅動基礎進階篇-進階5 自定義實現insmod命令實驗
    的頭像 發表于 02-20 14:10 ?715次閱讀
    RK3568驅動指南|驅動基礎<b class='flag-5'>進階篇</b>-<b class='flag-5'>進階</b>5 自定義實現insmod命令實驗

    RK3568驅動指南|驅動基礎進階篇-進階8 內核運行ko文件總結

    RK3568驅動指南|驅動基礎進階篇-進階8 內核運行ko文件總結
    的頭像 發表于 01-31 14:58 ?1175次閱讀
    RK3568驅動指南|驅動基礎<b class='flag-5'>進階篇</b>-<b class='flag-5'>進階</b>8 內核運行ko文件總結

    功德+1,用小安-Eyes-S1做一個電子木魚

    2024積德累功,心想事成!接下來 看看如何用小安-Eyes-S1做一個電子木魚 。 01、GUI-Guider 頁面設計 先新建一個工程。 直接進入 UI 設計界面,這里用到了兩個
    的頭像 發表于 01-16 14:33 ?795次閱讀
    功德+<b class='flag-5'>1</b>,用<b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>做一個電子木魚

    如何用小安-Eyes-S1做一個電子木魚?

    2024年的第一教程來了,本篇學習如何添加LVGL事件,制作完成一個電子木魚(小美苦苦哀求,我略微出手而已)。祝大家2024積德累功,心想事成!接下來看看如何用小安
    的頭像 發表于 01-13 15:18 ?1053次閱讀
    如何用<b class='flag-5'>小安</b><b class='flag-5'>派</b>-<b class='flag-5'>Eyes-S1</b>做一個電子木魚?
    主站蜘蛛池模板: 欧洲亚洲一区| 中文字幕一精品亚洲无线一区| 狠狠干.com| 久久艹人人艹| 2021天天干| 性性性性bbbbxxxx| 99久久精品免费看国产免费| 亚洲伊人精品综合在合线| 我想看三级特黄| 日韩免费观看的一级毛片| 欧美日韩国产在线一区| 激情婷婷综合| 超级碰碰青草久热国产| 天天干天天干天天干天天干天天干| 免费操人视频| 91三级视频| 亚洲综合亚洲综合网成人| 色多多视频在线观看播放| 美女一级免费毛片| se在线播放| 欧美福利二区| 爆操欧美| 一级特黄特黄的大片免费 | 午夜美女影院| 免费看一级黄色录像| 欧美黑人粗暴另类多交| 免费男女| 四虎4hu永久在线观看| 午夜视频在线免费观看| 日日摸夜夜添免费毛片小说| 国产18到20岁美女毛片| 4438x成人全国最大| 一级毛片成人免费看a| 日韩午夜在线视频不卡片| 国产色爽女| 天天干干| 激情五月在线| 亚洲四虎永久在线播放| 巨尻在线观看| 天天干天天射天天| 91在线视频免费|