利用RVB2601开发板实现基于LVGL库中文显示-阿里云开发者社区

开发者社区> 平头哥芯片开放社区> 正文
登录阅读全文

利用RVB2601开发板实现基于LVGL库中文显示

简介: 本案例基于“RVB2601应用开发实战系列三: GUI图形显示”修改。

本文来自: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图标,点击右上角新建工程。

1.png


3.2 搜索工程

搜索ch2601_gui_demo,然后点击创建工程,如下图所示:

2.png


3.3 输入工程名:

输入“ch2601_lvgl_chinese”,然后点击下载方案:

3.jpg


3.4、激活工程:

在ch2601_lvgl_chinese上右击,选择“Set As Active”,激活。

4、修改工程

4.1、制作Chinese_font.c字体文件:

字体文件制作可以使用“阿里兄”设计的免费软件“LvglFontTool字体工具”制作,字体文件制作方法如图所示:

4.jpg


4.2 将字体文件“Chinese_font.c”添加到工程:

5.png


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、编译,下载、运行:

6.jpg


7.jpg


5、小结:

初次使用,有不到之处还请各位大佬指正、海涵!

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
平头哥芯片开放社区
使用钉钉扫一扫加入圈子
+ 订阅

芯片开放社区(Open Chip Community 简称OCC),是平头哥芯片基础设施的云端载体,提供开发中心、创芯空间、技术部落等互动版块,汇聚海量应用资源,助力芯片合作伙伴构建软硬融合的芯片生态。面向芯片企业,OCC以应用驱动芯片精准定义、以全栈技术支撑芯片敏捷开发;面向开发者,OCC以芯片生态降低IoT开发门槛、以1520体系加速IoT产品落地。

官方博客
最新文章
相关文章
官网链接