# ESP32-S3R8 圆屏功能示例

当前示例使用 ST77916/GC9B72 QSPI 圆屏、CST816S 触摸、QMI8658 陀螺仪、AXP2101 电源管理、SD 卡和板载音频相关引脚。第一页显示 QMI8658 全屏背景和图片小球，不显示文字；第二页显示 AXP2101 电源状态；第三页进入后直接全屏显示 SD 卡 JPG 图片。左右滑动切换功能页，SD 图片页内上下滑动切换图片，未检测到 SD 卡时显示全屏提示。

## 当前页面

| 页面 | 功能 |
| :--- | :--- |
| 陀螺仪 | 使用 imagegen 背景和图片小球，QMI8658 加速度数据驱动小球移动，首屏不显示文字，撞到圆形屏幕边缘时小球闪色 |
| AXP2101 | 按 imagegen 效果图重做电池仪表盘，显示充放电状态、电量百分比、电池电压、VBUS、VSYS、恒流档位、目标电压、输入限流和温度 |
| SD 图片 | 挂载 `/sdcard`，扫描 `.jpg/.jpeg` 文件，进入页面直接用 `esp_new_jpeg` 解码为 RGB565 全屏预览，上下滑动和 BOOT 键切换图片；无 SD 卡或无 JPG 时显示全屏提示 |

## 位图资源

| 文件 | 用途 |
| :--- | :--- |
| `main/assets/imu_bg_360.png` | 陀螺仪页面 360x360 背景源图 |
| `main/assets/imu_ball_40.png` | 陀螺仪页面 40x40 透明小球源图 |
| `main/assets/battery_page_preview.png` | 电池页面 imagegen 效果图 |
| `main/assets/sd_jpg_page_preview.png` | SD 图片页面 imagegen 效果图 |
| `main/imu_visual_assets.c` | LVGL 直接使用的 RGB565/RGB565A8 C 资源 |

## 交互方式

| 操作 | 功能 |
| :--- | :--- |
| 左右滑动 | 在陀螺仪、AXP2101、SD 图片三个功能页之间循环切换 |
| SD 页上下滑动 | 全屏切换上一张或下一张 JPG 图片 |
| BOOT/IO0 短按 | 普通页面切下一页，SD 页面切下一张图片 |

## 已用引脚

### 系统与下载

| 信号 | 引脚 | 说明 |
| :--- | :--- | :--- |
| CHIP_PU | CHIP_PU | 芯片使能/上电复位 |
| BOOT | IO0 | 下载模式按键 |
| SERIAL_DN | IO19 | USB D- |
| SERIAL_DP | IO20 | USB D+ |

### SD 卡

| 信号 | 引脚 |
| :--- | :--- |
| SD_D1 | IO1 |
| SD_D0 | IO2 |
| SD_CLK | IO3 |
| SD_CMD | IO4 |
| SD_D3 | IO5 |
| SD_D2 | IO6 |

### LCD QSPI 圆屏

| 信号 | 引脚 |
| :--- | :--- |
| QSPI_SIO0 | IO7 |
| QSPI_SIO1 | IO8 |
| QSPI_SIO2 | IO9 |
| QSPI_SIO3 | IO10 |
| LCD_CS | IO11 |
| QSPI_CLK | IO12 |
| LCD_TE | IO13 |
| LCD_RST | IO14 |
| LCD_BLK | IO18 |

### I2C、触摸、IMU、PMU

| 信号 | 引脚 | 说明 |
| :--- | :--- | :--- |
| I2C_SCL | IO15 | CST816S、QMI8658、AXP2101 共用 |
| I2C_SDA | IO16 | CST816S、QMI8658、AXP2101 共用 |
| TP_INT | IO17 | CST816S 触摸中断 |

当前原理图没有单独触摸复位脚，固件中 `TOUCH_PIN_RST` 使用 `GPIO_NUM_NC`，避免占用 SD 卡的 `IO6/SD_D2`。

### I2S 音频

| 信号 | 引脚 |
| :--- | :--- |
| I2S_BCK | IO38 |
| I2S_DO | IO39 |
| I2S_MCK | IO40 |
| I2S_DI | IO47 |
| I2S_WS | IO48 |
| PA_CTRL | IO21 |
