#NodeMCU##PlatformIO#或#ArduinoIDE#能规避lvgl+TFT_eSPI经典编译错误(如下所示)的点不多。Linking.pio\build\nodemcu\firmware.elfld.exe:address0x3fffd538of.pio\build\nodemcu\firmware.elfsection`.bss'isnotwithinregion`dram0_0_seg'collect2.exe:error:ldreturned1exitstatus***[.pio\build\nodemcu\firmware.elf]Error1因为我们在源码上能做的事情
#NodeMCU##PlatformIO#或#ArduinoIDE#能规避lvgl+TFT_eSPI经典编译错误(如下所示)的点不多。Linking.pio\build\nodemcu\firmware.elfld.exe:address0x3fffd538of.pio\build\nodemcu\firmware.elfsection`.bss'isnotwithinregion`dram0_0_seg'collect2.exe:error:ldreturned1exitstatus***[.pio\build\nodemcu\firmware.elf]Error1因为我们在源码上能做的事情
这篇文章我主要讲解一下我在移植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
这篇文章我主要讲解一下我在移植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
移植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
移植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
文章目录前言一、什么是LVGL?二、先看效果三、移植前准备工作1.准备原有工程2.下载LVGL源码四、开始移植1.把源码搬运到工程文件夹里2.把搬运好的代码添加到keil工程3.动手改代码4.添加屏幕的接口5.显示测试6.添加触摸的接口7.使用keypad_encoderDEMO综合测试五、总结六.参考文章:七.代码汇总:前言网上教程那么多,为什么你要写这个教程?问的好,csnd上很多类似的教程,他们写的都很好,但是有些过于简洁,对刚上手的小伙伴不太友好,移植到一半遇到bug就想放弃。一些第三方的教程很详细,但是由于lvgl的版本迭代很快,移植的过程有了一些变化,所谓失之毫厘差之千里,要么编译
文章目录前言一、什么是LVGL?二、先看效果三、移植前准备工作1.准备原有工程2.下载LVGL源码四、开始移植1.把源码搬运到工程文件夹里2.把搬运好的代码添加到keil工程3.动手改代码4.添加屏幕的接口5.显示测试6.添加触摸的接口7.使用keypad_encoderDEMO综合测试五、总结六.参考文章:七.代码汇总:前言网上教程那么多,为什么你要写这个教程?问的好,csnd上很多类似的教程,他们写的都很好,但是有些过于简洁,对刚上手的小伙伴不太友好,移植到一半遇到bug就想放弃。一些第三方的教程很详细,但是由于lvgl的版本迭代很快,移植的过程有了一些变化,所谓失之毫厘差之千里,要么编译
一界面切换利用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框架绘制GUI免不了需要实现多个页面的切换,毕竟把所有功能和接口都放在一页上有些不太优雅,而且对于嵌入式硬件的小屏幕也有些过于困难。因此这里就需要实现多个页面(或者说lvgl里的screen)及其互相切换。实现方案(参考文章《LVGLV8应用——通过按键切换页面》),有以下两类实现方案:【1】通过LV_OBJ_FLAG_HIDDEN隐藏属性实现页面切换:显示窗口1之前给窗口2的容器设置LV_OBJ_FLAG_HIDDEN隐藏属性,显示窗口2之前给窗口1的容器设置LV_OBJ_FLAG_HIDDEN隐藏属性。【2】切换到窗口2时,删除窗口1的容器:这边的具体实现也可以分为两