可通过 M5.getBoard() 获取的开发板类型枚举值:
namespace boards
{ // Be careful not to change existing board numbers when adding values.
enum board_t
{ board_unknown = 0
, board_M5Stack
, board_M5StackCore2
, board_M5StickC
, board_M5StickCPlus
, board_M5StickCPlus2
, board_M5StackCoreInk
, board_M5Paper
, board_M5Tough
, board_M5Station
, board_M5StackCoreS3
, board_M5AtomS3
, board_M5Dial
, board_M5DinMeter
, board_M5Cardputer
, board_M5AirQ
, board_M5VAMeter
, board_M5StackCoreS3SE
, board_M5AtomS3R
, board_M5PaperS3
, board_M5CoreMP135
, board_M5StampPLC
, board_M5Tab5
/// non display boards
, board_M5AtomLite = 128
, board_M5ATOM __attribute__ ((deprecated)) = board_M5AtomLite
, board_M5Atom __attribute__ ((deprecated)) = board_M5AtomLite
, board_M5AtomPsram
, board_M5AtomU
, board_M5Camera
, board_M5TimerCam
, board_M5StampPico
, board_M5StampC3
, board_M5StampC3U
, board_M5StampS3
, board_M5AtomS3Lite
, board_M5AtomS3U
, board_M5Capsule
, board_M5NanoC6
, board_M5AtomMatrix
, board_M5AtomEcho
, board_M5AtomS3RExt
, board_M5AtomS3RCam
/// external displays
, board_M5AtomDisplay = 192
, board_M5ATOMDisplay = board_M5AtomDisplay
, board_M5UnitLCD
, board_M5UnitOLED
, board_M5UnitMiniOLED
, board_M5UnitGLASS
, board_M5UnitGLASS2
, board_M5UnitRCA
, board_M5ModuleDisplay
, board_M5ModuleRCA
, board_FrameBuffer = 512
};
}
全局配置参数
参数名 | 类型 | 说明 | 默认值 | 适用条件 |
---|---|---|---|---|
serial_baudrate | uint32_t | USB 串口波特率 | 115200 | 仅限Arduino-esp32平台 |
clear_display | bool | 启动时是否清屏 | true | 仅带屏幕设备有效 |
output_power | bool | 外部 5V 输出开关 | true | 仅支持AXP192芯片的设备 |
pmic_button | bool | 是否启用 PMIC 按键 | true | 仅支持AXP192芯片的设备 |
internal_imu | bool | 是否启用内置 IMU | true | 仅带IMU模块的设备 |
internal_rtc | bool | 是否使用内置 RTC | true | 仅带RTC模块的设备 |
internal_mic | bool | 是否使用内置麦克风 | true | 仅带麦克风设备 |
internal_spk | bool | 是否使用内置扬声器 | true | 仅带扬声器设备 |
external_imu | bool | 是否使用外接 IMU/加速度计单元 | false | 可连接设备: Unit IMU Unit Accel Unit Mini IMU Unit Mini IMU Pro |
external_rtc | bool | 是否使用外接 RTC 单元 | false | 可连接设备: Unit RTC |
disable_rtc_irq | bool | 是否在启动时关闭 RTC 中断请求位 | true | 仅带RTC模块的设备 |
led_brightness | uint8_t | 内置LED亮度(0-255) | 0 | 仅限单色LED设备(RGB灯无效) |
外部扬声器使能参数,以下两个可二选一,external_speaker
使用形式为external_speaker.<device_name>
。
参数名 | 类型 | 说明 | 默认值 | 适用条件 |
---|---|---|---|---|
external_speaker_value | uint16_t | 是否使用外接扬声器, 按位使能 | 0xFFFF | 见下方结构体中成员定义 |
external_speaker | struct | 是否使用外接扬声器,成员(device_name)如下: (除特殊标注外均占用1位) module_display atom_display unit_oled unit_mini_oled unit_lcd unit_glass unit_glass2 unit_rca module_rca reserve (7位保留) | 0xFFFF | 适用成员定义中的设备 可连接设备: Hat SPK Hat SPK2 Atomic Echo Base Atomic SPK Base |
外部显示器使能参数,以下两个可二选一,external_display
使用形式为external_display.<device_name>
。
参数名 | 类型 | 说明 | 默认值 | 适用条件 |
---|---|---|---|---|
external_display_value | uint16_t | 是否使用外接显示器, 按位使能 | 0xFFFF | 见下方结构体中成员定义 |
external_display | struct | 是否使用外接显示器,成员(device_name)如下: (除特殊标注外均占用1位) module_display atom_display unit_oled unit_mini_oled unit_lcd unit_glass unit_glass2 unit_rca module_rca reserve (7位保留) | 0xFFFF | 适用成员定义中的设备 |
相关外接设备:
扬声器配置参数
参数名 | 类型 | 说明 | 默认值 | 备注 |
---|---|---|---|---|
pin_data_out | int | I2S数据输出引脚(扬声器) | -1 | 需指定GPIO引脚号 |
pin_bck | int | I2S位/串行时钟引脚(BCK/SCLK) | -1 | |
pin_mck | int | I2S主时钟引脚(MCLK) | -1 | |
pin_ws | int | I2S声道选择引脚(WS/LRCK) | -1 | |
sample_rate | uint32_t | 采样率(Hz) | 48000 | |
stereo | bool | 是否启用立体声 | false | |
buzzer | bool | 是否使用蜂鸣器输出 | false | 启用时只需设置data_out引脚 |
use_dac | bool | 是否使用内置DAC输出 | false | 启用时只需设置data_out引脚,ESP32仅支持I2S_NUM_0、GPIO25/26 |
dac_zero_level | uint8_t | DAC零电平参考值 | 0 | 0表示动态调整 |
magnification | uint8_t | 输出值放大倍数 | 16 | |
dma_buf_len | size_t | I2S DMA缓冲区长度 | 256 | 最大为1024 |
dma_buf_count | size_t | I2S DMA缓冲区数量 | 8 | |
task_priority | uint8_t | 音频播放任务优先级 | 2 | |
task_pinned_core | uint8_t | 音频播放任务绑定的CPU核心 | -1 | |
i2s_port | i2s_port_t | 使用的I2S端口 | I2S_NUM_0 | 可选I2S0或I2S1 |
各型号设备的按键GPIO映射:
设备型号 | BtnA | BtnB | BtnC | BtnPWR | BtnEXT |
---|---|---|---|---|---|
M5Basic/Gray/Go/Fire | GPIO39 | GPIO38 | GPIO37 | - | - |
M5Core2 | TouchA | TouchB | TouchC | - | |
M5Stick C/CPlus | GPIO39 | GPIO37 | - | AXP192 | - |
M5StickCPlus2 | GPIO37 | GPIO39 | GPIO35 | - | - |
M5CoreInk | GPIO37(Up) | GPIO38(Press) | GPIO39(Down) | GPIO27 | GPIO5 |
M5Paper | GPIO37(Up) | GPIO38(Press) | GPIO39(Down) | - | - |
M5Station | GPIO37 | GPIO38 | GPIO39 | AXP192 | - |
M5Tough | - | - | - | AXP192 | - |
M5AirQ | GPIO0 | GPIO8 | - | - | - |
M5Atom-Lite/Matrix | GPIO39 | - | - | - | - |
M5AtomS3/S3-Lite | GPIO41 | - | - | - | - |
M5Capsule | GPIO42 | - | - | - | - |
M5Cardputer | GPIO0 | - | - | - | - |
M5Dial | GPIO42 | - | - | - | - |
M5DinMeter | GPIO42 | - | - | - | - |
M5StampPico | GPIO39 | - | - | - | - |
M5StampC3/C3U | GPIO3 | - | - | - | - |
M5StampS3/S3A | GPIO0 | - | - | - | - |
M5StamPLC | P2 | P1 | P0 | - | - |