【FireBeetle 2 ESP32 C6开发板】4、适配lvgl 9.1-- lv_esp32_drivers 仓库适配
<div class='showpostmsg'>#### 前言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传输之类的。</div><script> var loginstr = '<div class="locked">查看本帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
} </script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script>
页:
[1]