跳转至

硬件参考

M5Cardputer(标准版)— GPIO 矩阵

键盘使用 GPIO 矩阵,包含 3 个输出引脚(行选择)和 7 个输入引脚(列读取)。

引脚分配

角色 引脚 GPIO
输出(行选择 bit 0) OUT0 8
输出(行选择 bit 1) OUT1 9
输出(行选择 bit 2) OUT2 11
输入(列读取 bit 0) IN0 13
输入(列读取 bit 1) IN1 15
输入(列读取 bit 2) IN2 3
输入(列读取 bit 3) IN3 4
输入(列读取 bit 4) IN4 5
输入(列读取 bit 5) IN5 6
输入(列读取 bit 6) IN6 7

输入引脚采用 INPUT_PULLUP 模式。按键按下时将对应线路拉低。

按键布局(4 行 × 14 列)

    0   1   2   3   4   5   6   7   8   9  10  11  12  13
0   `   1   2   3   4   5   6   7   8   9   0   -   =  BKSP
1  TAB   q   w   e   r   t   y   u   i   o   p   [   ]   \
2   FN SHIFT a   s   d   f   g   h   j   k   l   ;   ' ENTER
3  CTRL OPT ALT  z   x   c   v   b   n   m   ,   .   / SPACE

每个位置有两个值:小写 (value_first) 和大写/Shift (value_second)。Point2D_t {x, y} 坐标与此网格完全对应。

X 映射表

7 个输入位通过 X_map_chart 解码为列索引:

输入位 value x_1(前 4 行) x_2(后 4 行)
bit 0 1 0 1
bit 1 2 2 3
bit 2 4 4 5
bit 3 8 6 7
bit 4 16 8 9
bit 5 32 10 11
bit 6 64 12 13

M5Cardputer-ADV — TCA8418 I2C

ADV 型号使用 TCA8418 I2C 按键矩阵控制器芯片。

项目
I2C 总线 内部(m5::In_I2C
I2C 地址 0x34
I2C 频率 400 kHz
矩阵大小 7 行 × 8 列
中断引脚 GPIO 11

重映射

TCA8418 的原始行/列值会被重映射为标准的 M5Cardputer 坐标系统:

列 = row_raw * 2 + (col_raw > 3 ? 1 : 0)
行 = (col_raw + 4) % 4

这确保了两种板型变体可以共享相同的 Point2D_t 坐标和 _key_value_map


其他硬件

组件 接口 备注
显示屏 SPI 320×240 TFT,通过 M5Cardputer.Display(M5GFX)访问
按钮 A GPIO 物理按钮,通过 M5Cardputer.BtnA 访问
扬声器 DAC / PWM 通过 M5Cardputer.Speaker 进行音调输出
麦克风 ADC 通过 M5Cardputer.Mic 进行录音
红外发射器 GPIO 通过 IRremote 库支持 NEC 格式
SD 卡 SPI 文件读写
外部 I2C Port.A(m5::Ex_I2C 可供用户外设使用
内部 I2C m5::In_I2C 板载 TCA8418(ADV 型号)