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() — 默认配置适用于绝大多数场景。仅在需要禁用不用的硬件或更改串口波特率时才自定义。