#### 前言
lvgl已经出到9.x版本了,github上的lv_port_esp32还是7.x版本,由于我自己有Linux和esp32两种设备的开发需求,esp32的RAM和Flash也不算小,
我打算直接使用9.1版本的lvgl,然后使用lvgl_esp32_drivers仓库,仓库地址是https://github.com/lvgl/lvgl_esp32_drivers.git
#### 适配lvgl9.1的代码
其实屏幕和触摸代码里,修改成适配lvgl 9.1代码并不复杂,主要是 **lv_disp_drv_t** 类型更名成了 **lv_display_t**,如下图。
需要修改的文件有点多,直接用VSCode批量替换就行了。
除了屏幕设备类型外,还需要调整输入设备类型(触摸屏之类的), **lv_indev_drv_t** 类型修改成 **lv_indev_t** ,如下图。
#### 适配idf 5.1版本代码
原始仓库适配的是idf 4.x版本的代码,5.1版本代码API有一些调整,大致有以下的一些内容。
例如gpio引脚初始化、延迟毫秒转换宏定义之类的一些内容。
修改完这些内容之后,就可以顺利编译了。
使用lvgl_esp32_drivers仓库,主要是懒得自己去写相关的代码,例如spi传输之类的。