草庐IT

STM32移植LVGL踩坑集锦

这篇文章我主要讲解一下我在移植LVGL时所遇到的一些坑以及解决方法。LVGL的移植过程可以参考我前面的文章,http://t.csdn.cn/QSVOO。第一个问题:在lvgl8.1以前的版本可能会出现MY_DISP_HOR_RES和MY_DISP_VER_RES未定义的报错。解决方法:在lvgl.conf.h头文件里定义即可lvgl8.1以后的版本不需要我们自己添加了,它已经在lv_port.disp.c定义好了我们只需要修改成我们自己的屏幕参数。第二个问题:报错提示内存不足解决方法:1、修改lvgl可用内存的大小,在lv_conf.h中修改LV_MEM_SIZE的值,修改后的样子(原来是1

stm32f407移植LVGL8.3.1实况(所有bug调试现场,最终成功点灯)

移植LVGL文章目录移植LVGL@[toc]1驱动层接口1.1主要硬件接口1.1.1触摸屏1.1.2定时器1.2底层程序移植2源码下载3中间层LVGL移植3.1物理移植3.2修改移植bug(相当酸爽)3.2.1一开始4000+错误3.2.2软件修改bug-->warning部分warning:#188-D:enumeratedtypemixedwithanothertypewarning:#546-D:transferofcontrolbypassesinitializationof:warning:#68-D:integerconversionresultedinachangeofsign3

stm32f407移植LVGL8.3.1实况(所有bug调试现场,最终成功点灯)

移植LVGL文章目录移植LVGL@[toc]1驱动层接口1.1主要硬件接口1.1.1触摸屏1.1.2定时器1.2底层程序移植2源码下载3中间层LVGL移植3.1物理移植3.2修改移植bug(相当酸爽)3.2.1一开始4000+错误3.2.2软件修改bug-->warning部分warning:#188-D:enumeratedtypemixedwithanothertypewarning:#546-D:transferofcontrolbypassesinitializationof:warning:#68-D:integerconversionresultedinachangeofsign3

STM32移植LVGL8.0.2超详细的保姆级教程附移植好的工程文件

文章目录前言一、什么是LVGL?二、先看效果三、移植前准备工作1.准备原有工程2.下载LVGL源码四、开始移植1.把源码搬运到工程文件夹里2.把搬运好的代码添加到keil工程3.动手改代码4.添加屏幕的接口5.显示测试6.添加触摸的接口7.使用keypad_encoderDEMO综合测试五、总结六.参考文章:七.代码汇总:前言网上教程那么多,为什么你要写这个教程?问的好,csnd上很多类似的教程,他们写的都很好,但是有些过于简洁,对刚上手的小伙伴不太友好,移植到一半遇到bug就想放弃。一些第三方的教程很详细,但是由于lvgl的版本迭代很快,移植的过程有了一些变化,所谓失之毫厘差之千里,要么编译

STM32移植LVGL8.0.2超详细的保姆级教程附移植好的工程文件

文章目录前言一、什么是LVGL?二、先看效果三、移植前准备工作1.准备原有工程2.下载LVGL源码四、开始移植1.把源码搬运到工程文件夹里2.把搬运好的代码添加到keil工程3.动手改代码4.添加屏幕的接口5.显示测试6.添加触摸的接口7.使用keypad_encoderDEMO综合测试五、总结六.参考文章:七.代码汇总:前言网上教程那么多,为什么你要写这个教程?问的好,csnd上很多类似的教程,他们写的都很好,但是有些过于简洁,对刚上手的小伙伴不太友好,移植到一半遇到bug就想放弃。一些第三方的教程很详细,但是由于lvgl的版本迭代很快,移植的过程有了一些变化,所谓失之毫厘差之千里,要么编译

【LVGL】学习笔记--(3)界面切换以及显示优化

一界面切换利用lvgl框架绘制GUI免不了需要实现多个页面的切换,毕竟把所有功能和接口都放在一页上有些不太优雅,而且对于嵌入式硬件的小屏幕也有些过于困难。因此这里就需要实现多个页面(或者说lvgl里的screen)及其互相切换。实现方案(参考文章《LVGLV8应用——通过按键切换页面》),有以下两类实现方案:【1】通过LV_OBJ_FLAG_HIDDEN隐藏属性实现页面切换:显示窗口1之前给窗口2的容器设置LV_OBJ_FLAG_HIDDEN隐藏属性,显示窗口2之前给窗口1的容器设置LV_OBJ_FLAG_HIDDEN隐藏属性。【2】切换到窗口2时,删除窗口1的容器:这边的具体实现也可以分为两

【LVGL】学习笔记--(3)界面切换以及显示优化

一界面切换利用lvgl框架绘制GUI免不了需要实现多个页面的切换,毕竟把所有功能和接口都放在一页上有些不太优雅,而且对于嵌入式硬件的小屏幕也有些过于困难。因此这里就需要实现多个页面(或者说lvgl里的screen)及其互相切换。实现方案(参考文章《LVGLV8应用——通过按键切换页面》),有以下两类实现方案:【1】通过LV_OBJ_FLAG_HIDDEN隐藏属性实现页面切换:显示窗口1之前给窗口2的容器设置LV_OBJ_FLAG_HIDDEN隐藏属性,显示窗口2之前给窗口1的容器设置LV_OBJ_FLAG_HIDDEN隐藏属性。【2】切换到窗口2时,删除窗口1的容器:这边的具体实现也可以分为两

LVGL (10) 移植流程

目录1、下载源码2、目录结构介绍3、移植前注意事项4、开始移植4.1、改文件名字4.1.1、对接platform/chip的部分4.1.2、LVGL配置文件4.2、移植显示驱动4.3、配置LVGL4.3.1、屏幕尺寸的配置4.3.2、颜色相关配置4.3.3、内存相关配置4.3.4、底层的配置4.3.5、日志4.3.6、其他(显示帧率等)4.3.7、编译属性4.3.8、裁剪组件4.3.9、开启/关闭Demo4.4、加入文件到工程4.5、适配心跳4.6、调用处理事务4.7、LVGL初始化4.8、修改栈空间5、编译5.1、消除编译warning6、结果基于LVGLV8版本LVGL的官方文档,大致说了

LVGL (10) 移植流程

目录1、下载源码2、目录结构介绍3、移植前注意事项4、开始移植4.1、改文件名字4.1.1、对接platform/chip的部分4.1.2、LVGL配置文件4.2、移植显示驱动4.3、配置LVGL4.3.1、屏幕尺寸的配置4.3.2、颜色相关配置4.3.3、内存相关配置4.3.4、底层的配置4.3.5、日志4.3.6、其他(显示帧率等)4.3.7、编译属性4.3.8、裁剪组件4.3.9、开启/关闭Demo4.4、加入文件到工程4.5、适配心跳4.6、调用处理事务4.7、LVGL初始化4.8、修改栈空间5、编译5.1、消除编译warning6、结果基于LVGLV8版本LVGL的官方文档,大致说了

LVGL笔记(1)-使用《avilib》库播放avi视频(lvgl在windows模拟运行)

文章目录1.函数简介1.1avi_t*AVI_open_input_file(constchar*filename,intgetIndex)1.2longAVI_video_frames(avi_t*AVI)1.3doubleAVI_frame_rate(avi_t*AVI)1.4intAVI_set_video_position(avi_t*AVI,longframe)1.5longAVI_read_frame(avi_t*AVI,char*vidbuf,int*keyframe)1.6AVI_close((avi_t*)avi)2.操作流程3.源代码4.整个工程源码在github找到一个a