viewesmart/bsp_ues31s043h800v480c_u

1.0.0

Latest
uploaded 9 hours ago
Board Support Package (BSP) for UES31S043H800V480C-U (ESP32-S31 4.3-inch 800x480)

Api (zh)

# API:UES31S043H800V480C-U

包含 `bsp/esp-bsp.h`。函数名与 [ESP-BSP API 约定](https://github.com/espressif/esp-bsp/blob/master/docu/BSP_development_guide.md) 一致。英文版见 [API.md](API.md)。

显示和触摸的硬件初始化(`bsp/display.h`、`bsp/touch.h`)不需要 LVGL。LVGL 函数只在关闭 `CONFIG_BSP_NO_GRAPHIC_LIB` 时存在。

## 能力宏

已定义:`BSP_CAPS_DISPLAY`、`BSP_CAPS_TOUCH`、`BSP_CAPS_BUTTONS`、`BSP_CAPS_AUDIO`、`BSP_CAPS_AUDIO_SPEAKER`、`BSP_CAPS_AUDIO_MIC`、`BSP_CAPS_SDCARD`、`BSP_CAPS_LED`、`BSP_CAPS_BUZZER`、`BSP_CAPS_USB`、`BSP_CAPS_UART1`、`BSP_CAPS_RS485`、`BSP_CAPS_CAN`、`BSP_CAPS_WIFI`、`BSP_CAPS_BLE`、`BSP_CAPS_BT_CLASSIC`。`BSP_CAPS_IMU` 为 0。

## 引脚

| 分组 | 引脚 |
| --- | --- |
| I2C | SCL `GPIO1`,SDA `GPIO0` |
| I2S0 | BCK `GPIO49`,WS `GPIO50`,DOUT `GPIO51`,DIN `GPIO52`,功放 `GPIO47`。MCLK 未连接 |
| RGB | PCLK `GPIO40`,HSYNC `GPIO44`,VSYNC `GPIO45`,DE `GPIO43`,背光 `GPIO39` |
| RGB 数据 | R2–R7 为 `GPIO2–7`,G2–G7 为 `GPIO8–13`,B2–B7 为 `GPIO14–19`。R0/R1、G0/G1、B0/B1 为 `GPIO_NUM_NC` |
| SDMMC | D0–D3 为 `GPIO20–23`,CMD `GPIO25`,CLK `GPIO24`,电源 `GPIO60` 低电平有效 |
| ADC 按键 | `GPIO42`(SW3–SW6) |
| WS2812 / 蜂鸣器 | `GPIO37` / `GPIO46` |
| UART1 | TX `GPIO33`,RX `GPIO34` |
| RS485 | TX `GPIO35`,RX `GPIO36` |
| CAN | TX `GPIO53`,RX `GPIO54` |
| BOOT | `GPIO61` |

## I2C

`bsp_i2c_init()` 可以多次调用。`bsp_i2c_deinit()` 释放总线。`bsp_i2c_get_handle()` 返回 `i2c_master_bus_handle_t`。

## 显示

| 函数 | 作用 |
| --- | --- |
| `bsp_display_new()` | RGB888 屏。配置为 `NULL` 时使用 2 块 PSRAM 帧缓冲和 20 行 bounce |
| `bsp_display_get_panel()` | `bsp_display_new()` 之后的面板句柄 |
| `bsp_display_get_framebuffers()` | 两块帧缓冲的指针 |
| `bsp_display_brightness_init()` | LEDC 背光 |
| `bsp_display_brightness_set()` | 背光 0–100% |
| `bsp_display_backlight_on()` / `off()` | 背光开关 |
| `bsp_display_start()` | 屏幕 + GT911 + `esp_lvgl_port` direct 模式,VSYNC 交换 |
| `bsp_display_start_with_config()` | 同上,使用 `bsp_display_cfg_t` |
| `bsp_display_lock()` / `unlock()` | LVGL 不是线程安全的 |
| `bsp_display_get_input_dev()` | LVGL 触摸输入设备 |
| `bsp_display_rotate()` | LVGL 旋转 |
| `bsp_display_enter_sleep()` / `exit_sleep()` | 屏幕休眠 |

## 触摸

`bsp_touch_new()` 创建 GT911 句柄。重复调用返回同一个句柄。

## SD 卡

`bsp_sdcard_mount()` / `bsp_sdcard_unmount()`。挂载点是 `CONFIG_BSP_SD_MOUNT_POINT`。`bsp_sdcard_get_handle()` 返回 `sdmmc_card_t *`。

## 音频

`bsp_audio_init()` 打开 I2S0 全双工(TX 和 RX,`bclk_div=8`)。`bsp_audio_codec_speaker_init()` 和 `bsp_audio_codec_microphone_init()` 返回 `esp_codec_dev` 句柄。`bsp_audio_poweramp_enable()` 控制 NS4150B。`bsp_i2s_get_handles()` 返回 TX 和 RX 通道。

## 按键、LED、蜂鸣器

`bsp_iot_button_create()` 用 `espressif/button` 的 ADC 设备填入 `bsp_button_t` 句柄(`BSP_BUTTON_SW3` 到 `SW6`)。

`bsp_led_rgb_init()` / `bsp_led_rgb_set()` 驱动 WS2812。`bsp_buzzer_init()`、`bsp_buzzer_set()`、`bsp_buzzer_beep()` 驱动 GPIO46。

## UART、RS485、CAN

`bsp_uart1_init(baud)`。`bsp_rs485_init(baud)` 和 `bsp_rs485_write()`。在定义了 `CONFIG_SOC_TWAI_SUPPORTED` 时使用 `bsp_can_init(bitrate, self_test, &node)`。`self_test` 为真时,发送不需要 ACK,并回环到本机接收。

## USB、Wi-Fi、蓝牙

`bsp_usb_init()` 只确认 USB 2.0 高速 PHY 在专用管脚上。应用程序自己安装 TinyUSB。

`bsp_wifi_init_sta(ssid, password)` 启动 STA。`bsp_bt_nvs_init()` 为射频准备 NVS。同一份固件里不能同时打开 BLE 和经典蓝牙。

## ADC

`bsp_adc_initialize()`、`bsp_adc_read_raw()`、`bsp_adc_read_mv()` 读取 GPIO42 上的按键分压。

Links

Target

Tags

To add this component to your project, run:

idf.py add-dependency "viewesmart/bsp_ues31s043h800v480c_u^1.0.0"

download archive

Stats

  • Archive size
    Archive size ~ 29.39 KB
  • Downloaded in total
    Downloaded in total 0 times
  • Downloaded this version
    This version: 0 times

Badge

viewesmart/bsp_ues31s043h800v480c_u version: 1.0.0
|