科学王老师 发表于 2025-2-17 18:52:40

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

本帖最后由 科学王老师 于 2025-2-17 18:52 编辑

前言:行空版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文件。修改这两个地方,图片是修改后的状态。


4、修改 TFT_eSPI\User_Setups 目录下的 Setup70b_ESP32_S3_ILI9341.h(该文件就是前边User_Setup_Select.h中启用的)
该文件中设置了屏幕引脚,禁用了SPI的字体(我们启用lvgl的字体),对照一下,就改动这些,其他不用动。
// Setup for the ESP32 S3 with ILI9341 display
// Note SPI DMA with ESP32 S3 is not currently supported
#define USER_SETUP_ID 70
// See SetupX_Template.h for all options available
#define ILI9341_DRIVER

                  // Typical board default pins - change to match your board
#define TFT_CS   14 //   10 or 34 (FSPI CS0)
#define TFT_MOSI 21 //   11 or 35 (FSPI D)
#define TFT_SCLK 12 //   12 or 36 (FSPI CLK)
#define TFT_MISO 41 //   13 or 37 (FSPI Q)

// Use pins in range 0-31
#define TFT_DC    13
#define TFT_RST   46 //it

//#define TOUCH_CS 16 // Optional for touch screen

//#define LOAD_GLCD
//#define LOAD_FONT2
//#define LOAD_FONT4
//#define LOAD_FONT6
//#define LOAD_FONT7
//#define LOAD_FONT8
//#define LOAD_GFXFF

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

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


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


目前存在的问题:

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

hnyzcj 发表于 2025-2-18 06:57:28

嵌入式广告,哈哈哈哈

hnyzcj 发表于 2025-2-18 06:57:49

有创意

木子哦 发表于 2025-2-18 09:19:47

hnyzcj 发表于 2025-2-18 06:57
嵌入式广告,哈哈哈哈

哈哈哈哈

科学王老师 发表于 2025-2-18 10:45:11

哈哈,顺手粘贴过来的。如果觉得不合适,我可以更换掉。
页: [1]
查看完整版本: 行空版K10在arduino IDE中启用LVGL的应用调试