| 
 572| 0
 | [ESP8266/ESP32] FireBeetle 2 ESP32 P4 使用 ILI9341、ST7789屏幕 | 

| 本帖最后由 HonestQiao 于 2025-8-3 22:12 编辑 咱们DFRobot终于推出了正式版本的ESP32-P4开发板:FireBeetle 2 ESP32 P4  还提供了配套的扩展底板:  P4的外设功能,非常的丰富:  扩展底板也引出了非常多的引脚,非常方便连接很多的外设同时玩起来。 P4功能强大,先把屏幕点亮再说,后面一些学习研究也要用到屏幕。 FireBeetle 2 ESP32 P4 兼容树莓派的DSI屏幕接口,但还在适配中,所以先点SPI屏幕。 乐鑫官方esp-idf开发框架中,提供了 spi_lcd_touch 演示程序:esp-idf/examples/peripherals/lcd/spi_lcd_touch,可以直接用于点亮ILI9341屏幕和GC9A01屏幕。 另外, 这个演示程序是给予LVGL的,调通了,后续也可以很方便的跑LVGL的代码。 **一、点亮ILI9341屏幕** 我手头有一块ILI9341屏幕,分辨率是240x320,但TOUCH驱动不是演示程序中的STMPE610,而是XPT2046。 研究了一下esp-idf v5.4.2版本的代码,经过一些处理即可支持,具体操作如下: 1. main/Kconfig.projbuild:添加 XPT2046 选项 2. main/idf_component.yml:添加TOUCH扩展库 3. main/spi_lcd_touch_example_main.c:参考STMPE610,添加XPT2046处理 4. main/spi_lcd_touch_example_main.c:修改屏幕引脚设置我使用的是扩展底板这个区域的引脚:  代码修改完以后,还需要使用menuconfig进行配置: 1. 设置target为P4并进入配置界面: 2. 配置屏幕类型和TOUCH类型:  配置完成之后,编译烧录即可: **二、点亮ST7789屏幕** 我手头还有一块ST7789的屏幕,分辨率也是240x320,没有TOUCH功能。 参考ILI9341屏幕的处理,对源码在做一些处理即可: 1. main/Kconfig.projbuild:添加 ST7789 选项 2. main/spi_lcd_touch_example_main.c:参考ILI9341,添加ST7789处理3. main/spi_lcd_touch_example_main.c:修改引脚配置代码修改完以后,再次使用menuconfig进行配置: 1. 配置屏幕类型和禁用触摸功能:  配置完成之后,编译烧录即可: 运行后,实际效果如下:  如果是带触摸的版本,点击按钮之后,屏幕方向会发生对应的变化。 三、运行LVGl自带的music player演示 lvgl中,自带了很多example和demo,可以根据实际需要启用。 要运行LVGl自带的music演示,只需要下面简单两步设置就能启用: 1. 在menuconfig配置中,启用LVGL Music player demo  2. 在代码中调用lv_music_demo(): 运行后,实际效果如下:  | 
 
FireBeetle 2 ESP32 P4 点亮 ILI9341、ST7789屏幕.pdf
1.32 MB, 阅读权限: 10, 下载次数: 3
 编辑选择奖
编辑选择奖
                          
 沪公网安备31011502402448
 沪公网安备31011502402448© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed