跳转至

M5Unified 配置

工厂方法: M5.config()
类型: m5::M5Unified::config_t

M5Cardputer.begin() 之前,可通过 M5.config() 自定义硬件初始化。本页涵盖与 M5Cardputer 开发最相关的字段。


使用模式

auto cfg = M5.config();
cfg.serial_baudrate = 115200;
cfg.output_power = true;
M5Cardputer.begin(cfg, true);

M5Cardputer.begin() 内部调用 M5.begin(cfg),然后初始化键盘。


M5Cardputer 关键配置字段

字段 类型 默认值 说明
serial_baudrate uint32_t 0 串口波特率。0 = 禁用。建议设为 115200 用于 USB-CDC 监视。
output_power bool true Port.A GPIO 引脚 5V 输出。用于外部 I2C 传感器。
clear_display bool true 启动时清屏。
internal_mic bool true 启用内部 PDM 麦克风(GPIO 46 数据,GPIO 43 WS)。
internal_spk bool true 启用内部 I2S 扬声器(GPIO 42 数据,GPIO 41 BCK,GPIO 43 WS)。
internal_imu bool true 启用 IMU。M5Cardputer 无 IMU — 设为 false
internal_rtc bool true 启用 RTC。M5Cardputer 无 RTC — 设为 false
led_brightness uint8_t 0 系统 LED 亮度(非 NeoPixel)。M5Cardputer 无系统 LED。
fallback_board board_t 因平台而异 自动检测失败时的板型。可设:m5::board_t::board_M5Cardputer

M5Cardputer 硬件引脚表

I2C 引脚

板型 内部 SCL 内部 SDA 外部 SCL (Port.A) 外部 SDA (Port.A)
M5Cardputer — (无) — (无) GPIO 2 GPIO 1
M5Cardputer-ADV GPIO 9 GPIO 8 GPIO 2 GPIO 1

M5Cardputer(标准版)没有内部 I2C 总线。只有 Port.A(Ex_I2C)可供外部使用。

音频引脚

组件 引脚 信号
麦克风数据 GPIO 46 PDM 麦克风
麦克风 WS GPIO 43 PDM 字选通
扬声器 BCK GPIO 41 I2S 位时钟
扬声器 WS GPIO 43 I2S 字选通
扬声器 DOUT GPIO 42 I2S 数据输出

显示屏引脚 (ST7789,SPI 接口)

信号 GPIO
MOSI 35
SCLK 36
DC 34
CS 37
RST 33
背光 PWM 9

其他引脚

组件 GPIO
按钮 A 0
SD 卡 CS 12
红外 LED 44
NeoPixel RGB 21
SD SCK 40
SD MISO 39
SD MOSI 14

无 config_t 字段控制这些引脚 — 它们由 M5Unified 板型检测自动配置。


M5Cardputer 推荐配置模板

#include <M5Cardputer.h>

void setup() {
    auto cfg = M5.config();

    // === 通信 ===
    cfg.serial_baudrate = 115200;

    // === 电源 ===
    cfg.output_power = true;       // Port.A 启用 5V 输出供 I2C 设备使用

    // === 音频 ===
    cfg.internal_mic = true;       // PDM 麦克风 GPIO 46/43
    cfg.internal_spk = true;       // I2S 扬声器 GPIO 42/41/43

    // === 禁用的外设(Cardputer 没有这些) ===
    cfg.internal_imu = false;      // Cardputer 无 IMU
    cfg.internal_rtc = false;      // Cardputer 无 RTC

    // === 板型回退 ===
    cfg.fallback_board = m5::board_t::board_M5Cardputer;

    // === 初始化 ===
    M5Cardputer.begin(cfg, true);  // true = 启用键盘

    // === 初始化后 LCD 调整 ===
    M5Cardputer.Display.setBrightness(128);
    M5Cardputer.Speaker.setVolume(64);
}

最小配置

无需纠结,直接调用 M5Cardputer.begin() — 默认配置适用于绝大多数场景。仅在需要禁用不用的硬件或更改串口波特率时才自定义。