/* 定义引脚分配 */ #ifndef _BOARD_CONFIG_H_ #define _BOARD_CONFIG_H_ /** * @file config.h * @brief 定义了引脚的分配。 * @author zouyuhua * @date 2025年8月7日 * */ #include "driver/gpio.h" #include "driver/i2c_master.h" #include "driver/i2s.h" #include "esp_log.h" #include "esp_rom_sys.h" // 用于 esp_rom_delay_us #include "esp_timer.h" #include "esp_mac.h" #include "driver/ledc.h" #include "driver/gpio.h" #include "freertos/FreeRTOS.h" #include "freertos/task.h" #include "esp_log.h" #include "driver/timer.h" #include "esp_intr_alloc.h" #include "soc/timer_group_struct.h" // 包含TIMERG0、TIMERG1的结构体定义 #include "soc/timer_group_reg.h" // 包含定时器相关寄存器宏定义 #include "driver/uart.h" #include "esp_err.h" #include "freertos/queue.h" #include "soc/uart_reg.h" #include "linear_motor.h" #include "gyroscope.h" #define TAG_BOARD "SWEEKAR_ESP32" /*I2C总线引脚定义*/ #define I2C0_MASTER_PORT I2C_NUM_0 #define I2C0_MASTER_SDA_IO GPIO_NUM_2 #define I2C0_MASTER_SCL_IO GPIO_NUM_3 /* 步进电机引脚设置 */ #define LEDC_OUTPUT_IO GPIO_NUM_42 // 步进电机LEDC引脚输入 /* 定义屏幕驱动控制引脚 */ #define ST7789_PIN_CLK GPIO_NUM_48 // SPI时钟引脚 #define ST7789_PIN_DC GPIO_NUM_38 // 数据/命令选择引脚RSEL #define ST7789_PIN_MOSI GPIO_NUM_47 // SPI数据输出引脚 #define ST7789_PIN_CS GPIO_NUM_40 // SPI片选引脚 #define ST7789_PIN_BL GPIO_NUM_NC // 背光引脚 #define ST7789_PIN_RST GPIO_NUM_NC // 复位引脚 #define LCD_BL_ACTIVE_LEVEL 0 // 背光有效电平:1=高电平有效(NMOS),0=低电平有效(PMOS) #define LCD_WIDTH 172 // 屏幕宽度(水平方向像素数) #define LCD_HEIGHT 320 // 屏幕高度(垂直方向像素数) /* 毫米波雷达配置参数 */ /* 定义毫米波雷达的中断引脚 */ #define MILLIMETER_WAVE_RADAR_PIN GPIO_NUM_35 // UART 配置参数 #define RADAR_UART_NUM UART_NUM_1 // 使用 UART0 #define UART_TX_PIN GPIO_NUM_NC // GPIO43 作为 TX(根据实际硬件连接调整) #define UART_RX_PIN GPIO_NUM_39 // GPIO44 作为 RX #define BAUD_RATE 9600 // 波特率 #define RADAR_BUF_SIZE 100 // 雷达接收缓冲区大小 /* IO扩展硬件配置常量 */ #define I2C_MASTER_FREQ_HZ 100000 // I2C通信频率(100kHz)(可更改至400000) #define I2C_IO_EXPAND_SLAVE_ADDR 0x5B // AW9523BTQR器件地址 #define GPIO_INPUT_PIN_SEL GPIO_NUM_10 // 中断检测引脚 #define ESP_INTR_FLAG_DEFAULT 0 // 中断标志默认值 #define IO_EXPAND_RSTN GPIO_NUM_45 // IO扩展板复位引脚 /* 定义线性马达的I2C从机配置常量 */ #define LINEAR_MOTOR_I2C_SLAVE_ADDR 0x5A // 线性马达的I2C从机地址 /* 定义陀螺仪的I2C从机配置常量 */ #define GYROSCOPE_I2C_SLAVE_ADDR 0x6A // 陀螺仪的I2C从机地址 #define GYROSCOPE_INPUT_PIN_SEL GPIO_NUM_21 // 陀螺仪中断引脚 /* 原生触摸引脚配置 */ // 触摸按键数量配置 // #define TOUCH_BUTTON_NUM 4 #define TOUCH_BUTTON_NUM 3 // 触摸通道定义 #define TOUCH_PAD_CHANNEL_1 TOUCH_PAD_NUM11 // GPIO11 #define TOUCH_PAD_CHANNEL_2 TOUCH_PAD_NUM12 // GPIO12 #define TOUCH_PAD_CHANNEL_3 TOUCH_PAD_NUM13 // GPIO13 // #define TOUCH_PAD_CHANNEL_4 TOUCH_PAD_NUM14 // GPIO14 /* ES8311音频编解码器配置 (ESP-ADF兼容) */ #define AUDIO_INPUT_SAMPLE_RATE 24000 #define AUDIO_OUTPUT_SAMPLE_RATE 24000 #define AUDIO_INPUT_REFERENCE true /* I2S GPIO定义 */ #define AUDIO_I2S_GPIO_MCLK GPIO_NUM_15 #define AUDIO_I2S_GPIO_WS GPIO_NUM_4 #define AUDIO_I2S_GPIO_BCLK GPIO_NUM_5 #define AUDIO_I2S_GPIO_DIN GPIO_NUM_6 #define AUDIO_I2S_GPIO_DOUT GPIO_NUM_7 /* PA引脚定义 */ #define AUDIO_CODEC_PA_PIN GPIO_NUM_8 /* I2C配置 */ #define AUDIO_CODEC_I2C_SDA_PIN GPIO_NUM_2 #define AUDIO_CODEC_I2C_SCL_PIN GPIO_NUM_3 #define AUDIO_CODEC_ES8311_ADDR 0x18 #define AUDIO_CODEC_ES7210_ADDR 0x40 /* WS2812 RGB LED配置 */ #define WS2812_PIN GPIO_NUM_41 // WS2812数据引脚 #define WS2812_NUM_LEDS 2 // WS2812 LED数量 /* 创建VBAT to VBAT_5V */ #define VBAT_5V_PIN GPIO_NUM_8 // VBAT_5V引脚 /* 定义按键的中断引脚 */ #define BUTTON_PIN GPIO_NUM_0 // 按键中断引脚 #endif // _BOARD_CONFIG_H_