158浏览
查看: 158|回复: 0

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

[复制链接]
本帖最后由 HonestQiao 于 2025-8-3 22:12 编辑

咱们DFRobot终于推出了正式版本的ESP32-P4开发板:FireBeetle 2 ESP32 P4
FireBeetle 2 ESP32 P4 使用 ILI9341、ST7789屏幕图9




还提供了配套的扩展底板:
FireBeetle 2 ESP32 P4 使用 ILI9341、ST7789屏幕图1




P4的外设功能,非常的丰富:
FireBeetle 2 ESP32 P4 使用 ILI9341、ST7789屏幕图2




扩展底板也引出了非常多的引脚,非常方便连接很多的外设同时玩起来。




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 选项
  1. 代码显示异常,请查看 pdf 附件
复制代码

2. main/idf_component.yml:添加TOUCH扩展库
  1.      atanisoft/esp_lcd_touch_xpt2046: "^1.0"
复制代码

3. main/spi_lcd_touch_example_main.c:参考STMPE610,添加XPT2046处理
  1. 代码显示异常,请查看 pdf 附件
复制代码
4. main/spi_lcd_touch_example_main.c:修改屏幕引脚设置
  1. 代码显示异常,请查看 pdf 附件
复制代码


   我使用的是扩展底板这个区域的引脚:
   FireBeetle 2 ESP32 P4 使用 ILI9341、ST7789屏幕图3






代码修改完以后,还需要使用menuconfig进行配置:
1. 设置target为P4并进入配置界面:
  1. idf.py set-target esp32p4
复制代码

2. 配置屏幕类型和TOUCH类型:
FireBeetle 2 ESP32 P4 使用 ILI9341、ST7789屏幕图5


配置完成之后,编译烧录即可:
  1. idf.py build flash monitor
复制代码





**二、点亮ST7789屏幕**


我手头还有一块ST7789的屏幕,分辨率也是240x320,没有TOUCH功能。
参考ILI9341屏幕的处理,对源码在做一些处理即可:
1. main/Kconfig.projbuild:添加 ST7789 选项
  1. 代码显示异常,请查看 pdf 附件
复制代码
2. main/spi_lcd_touch_example_main.c:参考ILI9341,添加ST7789处理
  1. 代码显示异常,请查看 pdf 附件
复制代码
3. main/spi_lcd_touch_example_main.c:修改引脚配置
  1. 代码显示异常,请查看 pdf 附件
复制代码


代码修改完以后,再次使用menuconfig进行配置:
1. 配置屏幕类型和禁用触摸功能:
FireBeetle 2 ESP32 P4 使用 ILI9341、ST7789屏幕图4




配置完成之后,编译烧录即可:
  1. idf.py build flash monitor
复制代码



运行后,实际效果如下:
FireBeetle 2 ESP32 P4 使用 ILI9341、ST7789屏幕图6


如果是带触摸的版本,点击按钮之后,屏幕方向会发生对应的变化。




三、运行LVGl自带的music player演示
lvgl中,自带了很多example和demo,可以根据实际需要启用。
要运行LVGl自带的music演示,只需要下面简单两步设置就能启用:
1. 在menuconfig配置中,启用LVGL Music player demo
FireBeetle 2 ESP32 P4 使用 ILI9341、ST7789屏幕图7


2. 在代码中调用lv_music_demo():
  1. 代码显示异常,请查看 pdf 附件
复制代码


运行后,实际效果如下:
FireBeetle 2 ESP32 P4 使用 ILI9341、ST7789屏幕图8

FireBeetle 2 ESP32 P4 点亮 ILI9341、ST7789屏幕.pdf

1.32 MB, 阅读权限: 10, 下载次数: 2

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail