LVGL体验
前言
本篇文章在Pico上体验LVGL8.3,使用rt-studio进行开发,实现字符串显示,驱动部分当前软件中已经支持,屏幕使用ST7789V 2.0的屏幕。
过程
打开RT-Studio,使用之前新建的工程进行使用
![1679723184655m51yv4slra](//file1.elecfans.com/web2/M00/81/E9/wKgZomQeirKAE6D_AAKLP_QSWnY0.image)
添加LVGL驱动,打开RT-Thread Setting 找到硬件下的板载设备驱动,使能
![1679723185731v46787wvu4](//file1.elecfans.com/web2/M00/81/E9/wKgaomQeirOAV3kAAAFHijFH9kc1.image)
找到LCD的接口定义,如下所示:
![1679723186161acoc6uwc3k](//file1.elecfans.com/web2/M00/81/E9/wKgZomQeirOAFANIAAF45XDskwM5.image)
硬件连接
根据屏幕接口连接连接屏幕
![1679723186817jarxwmwqrb](//file1.elecfans.com/web2/M00/81/E9/wKgaomQeirSAZ2vZAASWNK9Ctys3.image)
显示代码
完成了硬件的连接,接下来进行代码的编写,如下所示:
void Gui_lvgl_Test(void)
{
lv_obj_t * label;
label = lv_label_create(lv_scr_act());
lv_label_set_long_mode(label, LV_LABEL_LONG_WRAP);
lv_label_set_recolor(label, true);
lv_label_set_text(label, "#0000ff Banana Pi Pico #\n"
"#ff0000 Lvgl Porting Test#\n"
" --hello world ");
lv_obj_set_width(label, 150);
lv_obj_set_style_text_align(label, LV_TEXT_ALIGN_CENTER, 0);
lv_obj_align(label, LV_ALIGN_CENTER, 0, 0);
}
下载运行
编译工程,生成rtthread-pico.uf2文件
![1679723187681p2flw2hmym](//file1.elecfans.com/web2/M00/81/E9/wKgZomQeirWAAN6RAACldycB2o02.image)
将Pico断电,按着Boot键上电,将rtthread-pico.uf2复制到电脑识别的驱动中
![16797231880833u2h2nkmt1](//file1.elecfans.com/web2/M00/81/E9/wKgaomQeiraAUQZpAAmEFmC4zaQ1.image)
复制完成后Pico会自动启动,打开终端:
![16797231895182kux64c824](//file1.elecfans.com/web2/M00/81/E9/wKgZomQeiraAK81RAAA3vmX4ZuI1.image)
显示结果如下:
![1679723189841wwgpp4xszv](//file1.elecfans.com/web2/M00/81/E9/wKgaomQeirSAZ2vZAASWNK9Ctys3.image)
六、结论
本片文章完成进行了LVGL的使用,使用rt-thread进行开发很方便,同时板载应该搞个开关,每次都要拔USB,不方便。
|