https://www.bilibili.com/video/BV1UgSiY1EP9/?spm_id_from=333.999.0.0&vd_source=54c5db21948db2378659b7e8e42bafbf
安信可技術(shù)論壇官方B站賬號來啦
提前關(guān)注不迷路
在這里優(yōu)先預告各類活動、教程
以下作品由安信可社區(qū)用戶
yuyy1989制作
小安派-SCP-4.3具有4.3寸液晶顯示模塊、按鍵模塊、RS485接口、Type-C供電模塊。
小安派-SCP-4.3出廠適配了4.3屏幕驅(qū)動,作為碼盤顯示需要的信息,可通過按鍵改變屏幕顯示的界面,適用于電動車或自行車等兩輪車的應用。
采用安信可M61無線模組為控制核心,通過M61芯片驅(qū)動4.3寸(480*272)RGB液晶屏,外接RS485通信接口,采用Tpye-C接口進行供電,將其余的IO口引出作為GPIO接口方便拓展。
本帖先介紹如何移植GUI Guider內(nèi)置的模板界面到小安派SCP4.3,暫時不介紹如何使用GUI Guider設計界面。
GUI Guider是恩智浦提供的用戶友好型圖形用戶界面開發(fā)工具,可通過開源LVGL圖形庫快速開發(fā)高品質(zhì)的顯示。GUI Guider的拖放編輯器可以輕松利用LVGL的眾多特性,如小部件、動畫和樣式來創(chuàng)建GUI,而只需少量代碼或根本無需任何代碼。
使用時需要注意GUI Guider的版本和支持的LVGL版本綁定,小安派的LVGL版本是8.3.7,GUI Guider 1.6.1的LVGL版本是8.3.5,而1.7.0的LVGL版本是8.3.10,這里使用1.6.1的版本為小安派SCP4.3移植界面。
GUI Guider 下載地址,下載需要注冊賬號
https://www.nxp.com.cn/design/de ... i-guider:GUI-GUIDER
安裝后打開
選擇創(chuàng)建新項目進入LVGL版本選擇
選擇v8.3.5,后點擊下一步
小安派沒有在官方設備模板里,這里選擇模擬器,然后點擊下一步
https://www.nxp.com (二維碼自動識別)
這里隨便選個界面模板,點擊下一步
輸入工程名稱,屏幕默認分辨率是480x272和小安派SCP4.3的屏幕分辨率一致不用修改,點擊創(chuàng)建
之后會打開工程姐界面
如果是第一次使用到這里時頁面都是英文的,可以點擊右上角切換為中文
點擊右上角的三角,選擇C之后會自動生成這個界面的LVGL代碼
最后會彈出一個模擬器界面用來預覽
打開工程文件夾,這里的custom和generated是移植需要用到的
打開SCP4.3的工程文件夾,刪掉原來的UI文件夾,新建一個文件夾用來放剛才那兩個文件夾
把剛才那兩個文件夾復制到新建的文件夾中,修改SCP4.3工程根目錄下的CMakeLists.txt
include(proj.conf)
find_package(bouffalo_sdk REQUIRED HINTS $ENV{BL_SDK_BASE})
file(GLOB_RECURSE sources "${CMAKE_CURRENT_SOURCE_DIR}/guider_ui/*.c")
file(GLOB_RECURSE app "${CMAKE_CURRENT_SOURCE_DIR}/app/*.c")
# User
# sdk_add_compile_definitions(-DCONFIG_CLI_CMD_ENABLE)
sdk_add_compile_definitions(-DLV_LVGL_H_INCLUDE_SIMPLE)
sdk_add_include_directories(.)
sdk_add_include_directories(guider_ui)
sdk_add_include_directories(guider_ui/custom)
sdk_add_include_directories(guider_ui/generated)
sdk_add_include_directories(guider_ui/generated/guider_customer_fonts)
sdk_add_include_directories(guider_ui/generated/guider_fonts)
sdk_add_include_directories(guider_ui/generated/images)
sdk_add_include_directories(app)
target_sources(app PRIVATE ${sources} ${app})
sdk_set_main_file(main.c)
get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME)
project(${PROJECT_NAME})
修改lv_conf.h,增加2個宏定義
修改main.c,添加頭文件并注釋掉WAKE_UP_ENABLE這個宏定義
修改main函數(shù)
lv_ui guider_ui;
int main(void)
{
board_init();
// printf("HeapSize:%drn",xPortGetFreeHeapSize());
tcpip_init(NULL, NULL);
//wifi_start_firmware_task();
lwip_sntp_init();
bflb_mtd_init();
easyflash_init();
/* lvgl init */
lv_log_register_print_cb(lv_log_print_g_cb);
lv_init();
lv_port_disp_init();
//ui_init();
setup_ui(&guider_ui);
events_init(&guider_ui);
printf("lv_task_handlerrn");
printf("lvgl successrn");
xTaskCreate(lvgl_task, (char*)"lvgl", LVGL_STACK_SIZE, NULL, LVGL_TASK_PRIORITY, &lvgl_TaskHandle);
xTaskCreate(button_process_task, (char*)"button_proc_task", button_PROCESS_STACK_SIZE, NULL, button_PROCESS_PRIORITY, &button_process_task_hd);
// printf("HeapSize:%drn",xPortGetFreeHeapSize());
#ifdef WAKE_UP_ENABLE
xTaskCreate(app_ble_task, (char*)"app_ble_task", APPBLE_PROCESS_STACK_SIZE, NULL, APPBLE_PROCESS_PRIORITY, &app_ble_process_task_hd);
#endif
vTaskStartScheduler();
// while (1) {
// lv_task_handler();
// bflb_mtimer_delay_ms(1);
// }
while (1) {
}
}
這里不注釋掉wifi_start_firmware_task()就無法運行,原版工程也一樣
編譯并燒錄,運行效果如圖
原貼地址:移植NXP GUI Guider的界面到小安派SCP4.3https://bbs.ai-thinker.com/foru
審核編輯 黃宇
-
NXP
+關(guān)注
關(guān)注
60文章
1278瀏覽量
184026 -
GUI
+關(guān)注
關(guān)注
3文章
659瀏覽量
39653 -
SCP
+關(guān)注
關(guān)注
0文章
29瀏覽量
9243
發(fā)布評論請先 登錄
相關(guān)推薦
評論