行空版K10在arduino IDE中启用LVGL的应用调试

2025-02-174079
AI 快速预览详细 收起
本文介绍了如何在Arduino IDE中为行空板K10启用LVGL显示模块。首先,需要下载lvgl库,并将官方mind中的lv_conf.h文件复制并剪切到指定目录。接着,修改TFT_eSPI目录下的User_Setup_Select.h文件和Setup70b_ESP32_S3_ILI9341.h文件中的引脚设置。通过这些步骤,可以实现屏幕显示,并支持自定义字体和文件系统。目前存在的问题是显示满屏的.png文件会出现no data报错。


前言:行空版K10作为一个功能齐全,性能足够好的开发板,可以开发出非常多的功能应用。lvgl作为开源显示模块,功能也很强大,官方积木编程中,应用的也是lvgl开源模块,有可能官方出于使用安全和保密的原因,对模块进行了封装,一些设置无法变动,这给使用带来了一些限制。本帖子在乔老师帖子《在Arduino中使用TFT_eSPI点亮K10屏幕》的基础上,调通了lvgl,并已经能正常使用,并调试了lvgl的文件系统。(本文只适用K10)

怎样点亮,请看乔老师的帖子,本文只说移植lvgl。

1、首先下载lvgl库,由于官方mind用的是8.3.10版本,所以,最好也安装这个版本。

2、改动配置文件:在lvgl目录下,C:\Users\自己名称\Documents\Arduino\libraries\lvgl,找到 lv_conf_template.h文件,复制一份并改名为:lv_conf.h,然后把它剪切到C:\Users\自己名称\Documents\Arduino\libraries\ 目录下(注意:是剪切,不是拷贝)。文件中有很多控制选项,具体项目说明,可以自己搜,最简单的办法是拷贝mind官方的文件过来用。mind文件目录下\Arduino\hardware\dfrobot\esp32s3\libraries\lvgl,不用修改直接用就行。

3、修改 C:\Users\自己用户名\Documents\Arduino\libraries\TFT_eSPI目录下的 User_Setup_Select.h文件。修改这两个地方,图片是修改后的状态。行空版K10在arduino IDE中启用LVGL的应用调试图1
行空版K10在arduino IDE中启用LVGL的应用调试图2

4、修改 TFT_eSPI\User_Setups 目录下的 Setup70b_ESP32_S3_ILI9341.h  (该文件就是前边User_Setup_Select.h中启用的)
  该文件中设置了屏幕引脚,禁用了SPI的字体(我们启用lvgl的字体),对照一下,就改动这些,其他不用动。
  1. // Setup for the ESP32 S3 with ILI9341 display
  2. // Note SPI DMA with ESP32 S3 is not currently supported
  3. #define USER_SETUP_ID 70
  4. // See SetupX_Template.h for all options available
  5. #define ILI9341_DRIVER
  6.                     // Typical board default pins - change to match your board
  7. #define TFT_CS   14 //     10 or 34 (FSPI CS0)
  8. #define TFT_MOSI 21 //     11 or 35 (FSPI D)
  9. #define TFT_SCLK 12 //     12 or 36 (FSPI CLK)
  10. #define TFT_MISO 41 //     13 or 37 (FSPI Q)
  11. // Use pins in range 0-31
  12. #define TFT_DC    13
  13. #define TFT_RST   46 //it
  14. //#define TOUCH_CS 16 // Optional for touch screen
  15. //#define LOAD_GLCD
  16. //#define LOAD_FONT2
  17. //#define LOAD_FONT4
  18. //#define LOAD_FONT6
  19. //#define LOAD_FONT7
  20. //#define LOAD_FONT8
  21. //#define LOAD_GFXFF
  22. //#define SMOOTH_FONT
复制代码

现在就可以使用lvgl进行屏幕显示了(注意:这些设置,还没有启用LVGL文件系统,还不能用LVGL读取SD卡上的文件,)

5、现在就可以在主文件中,创建标签,各种圆弧、画线,显示基本的文字,如果添加自己的文字,需要生成字库文件,并修改lv_conf.h文件的自定义字体选项。下图是启用自定义字体,启用文件系统后的显示结果。图片是bmp 320*240(16位深),文字是思源黑体。
行空版K10在arduino IDE中启用LVGL的应用调试图3

建议:mind中,lvgl的各项功能均可以正常使用,建议大家在mind中使用,不用这么多设置,直接调用官方的初始化程序就行。但mind中,不能启用自定义字体,这点比较遗憾,希望下一版本中,官方可以把这部分放开,这样,就可以非常方便的使用lvgl的全部功能,进而可以在mind中,代码+积木混合编程,完成各种复杂的功能了。


目前存在的问题:

显示满屏的.png文件(320*240),会出现no data报错(8位,24位,32位都不行),jpg,bmp(16位)文件正常。160*160的png文件正常。编码后的图片文件均正常。还没找到什么原因,那位老师知道,请指教。

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(3)
科学王老师
科学王老师
作者
哈哈,顺手粘贴过来的。如果觉得不合适,我可以更换掉。
hnyzcj
hnyzcj
有创意
hnyzcj
hnyzcj
嵌入式广告,哈哈哈哈
木子哦
木子哦回复hnyzcj
哈哈哈哈
- 没有更多了 -