# ESP32-S3 LCD显示USB摄像头数据(适配ESP-VoCat 喵伴) **Repository Path**: Beautiful_Man/esp32-s3-usb-camera ## Basic Information - **Project Name**: ESP32-S3 LCD显示USB摄像头数据(适配ESP-VoCat 喵伴) - **Description**: 这是一个最小 ESP-IDF 工程,用于 ESP-VoCat 硬件:初始化 ST77916 QSPI LCD,采集 USB UVC 摄像头画面,并实时显示到 360x360 屏幕。 - **Primary Language**: C - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-30 - **Last Updated**: 2026-04-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # ESP32-S3 LCD显示USB摄像头数据(适配ESP-VoCat 喵伴) 这是一个最小 ESP-IDF 工程,用于 ESP-VoCat 硬件:初始化 ST77916 QSPI LCD,采集 USB UVC 摄像头画面,并实时显示到 360x360 屏幕。 ![输入图片说明](screenshot-20260430-144817.png) ## 硬件配置 - 主控:ESP32-S3 - LCD:ST77916 QSPI,360x360,RGB565 - QSPI:`SPI2_HOST` - PCLK:GPIO18 - CS:GPIO14 - DATA0:GPIO46 - DATA1:GPIO13 - DATA2:GPIO11 - DATA3:GPIO12 - 复位:GPIO3 或 GPIO47,工程会同时兼容两种板级复位接法 - 背光:GPIO44 - 摄像头:ESP32-S3 USB Host/OTG 接入 USB UVC 摄像头 ## 当前行为 上电后 LCD 保持黑屏等待摄像头。检测到 USB UVC 摄像头后,工程会自动选择接近目标分辨率的 `YUYV` 或 `MJPEG` 模式,将画面转换为 RGB565,并显示到 360x360 LCD。 默认显示策略是 `DISPLAY_SCALE_COVER`:保持图像比例、居中裁剪并铺满 360x360 屏幕,不产生横向或纵向拉伸。 运行时控制台已关闭,因为 USB Host 运行时占用 USB 外设,同时 GPIO44 是 LCD 背光控制脚。 ## 关键文件 - `main/hello_lcd_main.c`:LCD 初始化、USB 摄像头打开、格式枚举、帧转换和刷屏主逻辑 - `main/app_config.h`:摄像头格式、目标分辨率、帧率、显示缩放模式、USB 任务参数 - `main/display_config.h`:LCD 分辨率、QSPI 引脚、复位脚、背光脚、RGB565 字节序 - `main/esp_vocat_st77916_init.h`:ESP-VoCat 当前屏幕匹配的 ST77916 初始化序列 - `main/idf_component.yml`:外部组件依赖声明 - `sdkconfig.defaults`:ESP32-S3、PSRAM、USB UVC 和控制台关闭等默认配置 ## 常用配置 修改 `main/app_config.h`: - `CAMERA_FORMAT_PREFERENCE`:摄像头格式优先级,可选 `CAMERA_FORMAT_YUYV`、`CAMERA_FORMAT_MJPEG`、`CAMERA_FORMAT_AUTO` - `CAMERA_FORMAT_STRICT`:设为 `1` 时只接受优先格式;设为 `0` 时优先格式不可用会自动回退 - `CAMERA_TARGET_WIDTH` / `CAMERA_TARGET_HEIGHT`:摄像头目标分辨率 - `CAMERA_FPS`:请求帧率,实际值取决于摄像头是否支持 - `DISPLAY_SCALE_MODE`:显示模式 显示模式说明: - `DISPLAY_SCALE_COVER`:铺满屏幕、保持比例、居中裁剪 - `DISPLAY_SCALE_FIT`:完整显示画面、保持比例、可能有黑边 - `DISPLAY_SCALE_STRETCH`:铺满屏幕、不裁剪、但 4:3 画面会被拉伸 ## 编译和烧录 ```powershell cd C:\Users\86177\Desktop\esp32-ai-car-terminal-head\hello_lcd idf.py set-target esp32s3 idf.py build idf.py -p COM61 flash ```