本文來自:RISC-V大賽 - 清風飄雪
本文作者:赤火隐士
1. 前言
看到不少網友對于自帶的LVGL庫顯示比較反感,遂産生編寫此文想法:利用RVB2601闆實作基于LVGL庫中文顯示。此文基于“RVB2601應用開發實戰系列三: GUI圖形顯示”基礎上修改。
2. 硬體配置
RVB2601開發闆自帶單彩色圖形顯示面闆,螢幕分辨率128x64 pixel,通過4 wire SPI接口與主晶片連接配接,對應的pin引腳分别為PA27、PA28、PA29、PA30,引腳定義可以通過oled.c檔案的“oled_gpio_init”函數檢視。
3. 建立ch2601_lvgl_chinese工程
3.1 建立工程:
打開CDK,點選HOME圖示,點選右上角建立工程。
3.2 搜尋工程
搜尋ch2601_gui_demo,然後點選建立工程,如下圖所示:
3.3 輸入工程名:
輸入“ch2601_lvgl_chinese”,然後點選下載下傳方案:
3.4、激活工程:
在ch2601_lvgl_chinese上右擊,選擇“Set As Active”,激活。
4、修改工程
4.1、制作Chinese_font.c字型檔案:
字型檔案制作可以使用“阿裡兄”設計的免費軟體“LvglFontTool字型工具”制作,字型檔案制作方法如圖所示:
4.2 将字型檔案“Chinese_font.c”添加到工程:
4.3、修改“main.c”檔案:
将main.c中的gui_label_create函數修改如下:
static void gui_label_create(void)
{
LV_FONT_DECLARE(Chinese_font);
static lv_style_t font_style;
lv_style_init(&font_style);
lv_style_set_text_font(&font_style, LV_STATE_DEFAULT, &Chinese_font);
lv_obj_t* font_label = lv_label_create(lv_scr_act(), NULL);
lv_obj_add_style(font_label, LV_LABEL_PART_MAIN, &font_style);
lv_label_set_text(font_label, "\uF004中國我愛你\uF004");
lv_obj_align(font_label, NULL, LV_ALIGN_CENTER, 0, 0);
}
4.4、編譯,下載下傳、運作:
5、小結:
初次使用,有不到之處還請各位大佬指正、海涵!