跳到主要内容

ESP32-C6 外设映射

本文说明 ESP32-C6(单核 RISC-V,Wi-Fi 6,Thread/Zigbee)片上外设与 TuyaOpen TKL 层软件端口的映射关系。

GPIO

  • 所有 GPIO 引脚均支持中断。
  • TUYA_GPIO_NUM_E 枚举值与物理 GPIO 编号直接 1:1 对应。
  • 共 31 个 GPIO(GPIO0 ~ GPIO30),无空位。
GPIO 范围TUYA_GPIO_NUM 范围说明
GPIO0 ~ GPIO30TUYA_GPIO_NUM_0 ~ TUYA_GPIO_NUM_30通用 IO,全部可用

UART

  • 支持 2 路串口。
  • UART0 的 TX / RX 引脚通过 Kconfig 选项 UART_NUM0_TX_PIN / UART_NUM0_RX_PIN 配置,默认为 GPIO16 / GPIO17。
  • UART1 无专用 IO_MUX 引脚,走 GPIO Matrix,默认引脚可在初始化前通过 tkl_io_pinmux_config() 修改。
修改 UART0 引脚

在项目目录下运行 tos.py config menu 进入板子配置子界面,找到对应选项并输入目标 GPIO 编号,或直接编辑 boards/ESP32/ESP32-C6/Kconfig 中的 default 值,重新构建后生效。

Board PinFunctionSoftware PinSoftware Port
GPIO16(默认)UART0_TXTUYA_GPIO_NUM_16TUYA_UART_NUM_0
GPIO17(默认)UART0_RXTUYA_GPIO_NUM_17TUYA_UART_NUM_0
GPIO6(默认)UART1_TXTUYA_GPIO_NUM_6TUYA_UART_NUM_1
GPIO7(默认)UART1_RXTUYA_GPIO_NUM_7TUYA_UART_NUM_1

I2C

  • 支持 1 路硬件 I2C(TUYA_I2C_NUM_0)。
  • 默认引脚可在外设初始化前通过 tkl_io_pinmux_config() 修改。
Board Pin(默认)FunctionSoftware PinSoftware Port
GPIO0I2C0_SCLTUYA_IIC0_SCLTUYA_I2C_NUM_0
GPIO1I2C0_SDATUYA_IIC0_SDATUYA_I2C_NUM_0

PWM

  • 支持 6 路 PWM,使用 ESP-IDF LEDC 驱动(LEDC_LOW_SPEED_MODE,12 位分辨率)。
  • 默认引脚可在外设初始化前通过 tkl_io_pinmux_config() 修改。
Board Pin(默认)FunctionSoftware PinSoftware Port
GPIO18PWM0TUYA_PWM0TUYA_PWM_NUM_0
GPIO19PWM1TUYA_PWM1TUYA_PWM_NUM_1
GPIO22PWM2TUYA_PWM2TUYA_PWM_NUM_2
GPIO23PWM3TUYA_PWM3TUYA_PWM_NUM_3
GPIO25PWM4TUYA_PWM4TUYA_PWM_NUM_4
GPIO26PWM5TUYA_PWM5TUYA_PWM_NUM_5

ADC

  • 仅支持 ADC1(TUYA_ADC_NUM_0),共 7 个通道。
  • 通道通过位掩码(ch_list.data)配置,bit N 对应 ADC_CHANNEL_N
  • 衰减固定为 ADC_ATTEN_DB_12(量程约 0–3.3 V),校准采用 Curve-fitting 方案。
Board PinADC ChannelSoftware Port
GPIO0ADC1_CH0TUYA_ADC_NUM_0
GPIO1ADC1_CH1TUYA_ADC_NUM_0
GPIO2ADC1_CH2TUYA_ADC_NUM_0
GPIO3ADC1_CH3TUYA_ADC_NUM_0
GPIO4ADC1_CH4TUYA_ADC_NUM_0
GPIO5ADC1_CH5TUYA_ADC_NUM_0
GPIO6ADC1_CH6TUYA_ADC_NUM_0

参考资料