赞
踩
此文为我以前的教程“LittleVGL (LVGL)干货入门教程一之移植到stm32芯片”的LVGL V8版本入门教程,适用与LVGL的V8版本,因为V7与V8版本相差较大,所以专门出了这篇文章,以供参考。
阅读前,请确保你拥有以下条件:
LVGL有三大种需要对接的API,可以互相独立使用
这篇文章只讲“显示API”的移植。
(重要) 编译LVGL至少需要c99标准,Keil下编译需要选择AC6编译器。
使用一个项目的前提就是:你必须获取到源码,那么你有两种方法下载到源码:
1、使用Git命令
git clone https://github.com/lvgl/lvgl.git
2、直接从我提供的链接下载,版本为v8.0.3 dev版
LVGL v8.0.3 dev 点我下载
提醒:我推荐的使用方法是——不要增删更改任何的文件,获取到源码后保持原样,之所以这么做,是为了方便配合Git的使用,因为你可以通过Git实时获取到最新的源码,你只用添加文件到你的项目中即可。
移植前理所应当的一件事当然是认识它的项目目录,知道每个目录是干什么的,有什么文件。
1)源码目录:
在源码目录下,所有的c文件和h文件都应该添加到你的项目中,这是最核心的东西。在src/extra/libs目录下的文件,作为第三方库使用,你以后可以使用这些第三方库,后面我会出文章讲,现在不用添加这些文件,不在本文赘述。
2)example目录:
这个目录也很重要,你可以在里面学习和使用里面的例程,但是在本文基础教程中,我们只使用以下红圈的文件:
好,现在我们已经简单的认识了一些移植必要的文件,那么现在可以开始移植了。
1)添加文件到项目
port文件改名
Q:为什么要改文件名?
A:因为默认名有_tamplate后缀,当然不改也能用,编译器也能编,但代码是人看的,改掉比较好,把后缀_tamplate删除,文件内也要改。
默认名:
改后名:
使能port的使用 (重要)
Q:如何使能?
A:在port文件中把“#if 0”改为“#if 1”,c文件和h文件都有这个,其实就是预处理。
整理好后的文件结构大概如下, 可以大致参考一下:
那么现在你可以尝试编译一下项目了,看看是否有报错,如找不到头文件、变量这类错误,请自行检查是否完全正确添加以上文件到项目。文件的添加较为繁琐,请仔细添加,并正确索引头文件目录。
2)显示API移植(重要)
首先,我们进入 “lv_port_disp.h” 文件,在注释块“MACROS”下添加
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。