#ifndef HW_CONFIG_H #define HW_CONFIG_H /* ============================================================ * ESP32 DASS2 – 引脚宏定义 * 来源: pin.txt * ============================================================ */ /* ---------- 电源 / 电池 ---------- */ #define BAT_VOLTAGE_GPIO GPIO_NUM_6 /* ADC1_CH5 – 读取电池电压 */ #define ADC_CTL_GPIO GPIO_NUM_7 /* 开关读取电压的MOS管 */ #define POW_CTL_GPIO GPIO_NUM_15 /* 开关各种外围芯片电源 */ #define USB_PLUGIN_DETECT_GPIO GPIO_NUM_18 /* 检测USB是否插入(高=插入) */ /* ---------- 按钮 ---------- */ #define BUTTON0_GPIO GPIO_NUM_19 #define BUTTON1_GPIO GPIO_NUM_20 /* 两个按钮状态编码: * 00 = 无按键 ; 10 = 左键 ; 01 = 右键 ; 11 = 中键 */ /* ---------- LED ---------- */ #define LED_CTL_GPIO GPIO_NUM_42 /* 状态指示灯 */ /* ---------- I2C ---------- */ #define I2C_SDA_GPIO GPIO_NUM_8 #define I2C_SCL_GPIO GPIO_NUM_9 #define I2C_PORT I2C_NUM_0 /* ---------- SPI (TFT 专用总线) ---------- */ #define SPI_MOSI_GPIO GPIO_NUM_11 #define SPI_MISO_GPIO GPIO_NUM_12 #define SPI_SCLK_GPIO GPIO_NUM_21 #define SPI_HOST SPI2_HOST /* TFT 片选 / 数据命令 / 复位 / 背光 */ #define TFT_CS_GPIO GPIO_NUM_13 #define TFT_DC_GPIO GPIO_NUM_14 #define TFT_RST_GPIO GPIO_NUM_47 #define TFT_PWM_GPIO GPIO_NUM_10 /* ---------- SDMMC (4-bit 模式, 独立于 SPI) ---------- */ #define SDMMC_CLK_GPIO GPIO_NUM_5 #define SDMMC_CMD_GPIO GPIO_NUM_4 #define SDMMC_D0_GPIO GPIO_NUM_41 #define SDMMC_D1_GPIO GPIO_NUM_40 #define SDMMC_D2_GPIO GPIO_NUM_39 #define SDMMC_D3_GPIO GPIO_NUM_38 #define SDMMC_CD_GPIO GPIO_NUM_48 /* 卡检测, 有卡=低电平 */ /* ---------- SHT30 温湿度传感器 (I2C) ---------- */ #define SHT30_I2C_ADDR 0x44 /* ADDR 引脚接地 */ /* ---------- UART2 (Arduino Serial2, 用于温湿度数据输出) ---------- */ #define UART2_TX_GPIO 16 #define UART2_RX_GPIO 17 #define UART2_BAUD_RATE 115200 /* ---------- 显示参数 ---------- */ /* 按实际 TFT 型号修改 – 下面以 ST7789 240×240 为例 */ #define TFT_WIDTH 240 #define TFT_HEIGHT 240 #define TFT_MADCTL_ROTATION 0x00 /* MADCTL – 无旋转(竖屏) */ #endif /* HW_CONFIG_H */