主要参考资料:
B站【乐鑫全球开发者大会】DevCon23 #17 |HMI 智能屏解决方案
目录
- 1.LCD屏幕硬件层
- 2.LVGL驱动层
1.LCD屏幕硬件层
MCU常用的驱动接口在下面,大致可以划分为串口屏和并口屏。
串口屏相较于并行屏优势是占用IO少,相应地数据传输带宽也低。
SPI有标准SPI和QSPI之分,具体可以看链接: https://blog.csdn.net/wangguchao/article/details/105593303
ESP-BOX的LCD就是采用的SPI接口。
2.LVGL驱动层
在ESP-BOX代码中,components/lvgl/lvgl_port已经封装好了显示设备和输入设备的驱动,因此我们可以直接开始调用lvgl,也就是直接操作APP层。
在LVGL_port的初始化代码中可以看到分别对lcd初始化、port_display初始化和port_indevice初始化。
esp_err_t lv_port_init(void)
{/* Initialize LVGL library */lv_init();/* Register display for LVGL */ESP_ERROR_CHECK(bsp_lcd_init());lv_port_disp_init();/* Register input device for LVGL*/ESP_ERROR_CHECK(indev_init_default());lv_port_indev_init();/* Initialize LVGL's tick source */lv_port_tick_init();/* Nothing error */return ESP_OK;
}