#ifndef BOARD_CONFIG_H #define BOARD_CONFIG_H #define GD32E23XF4 0x10 #define GD32E23XF6 0x20 #define GD32E23XF8 0x40 /* >>>>>>>>>>>>>>>>>>>>[RS485 PHY DEFINE]<<<<<<<<<<<<<<<<<<<< */ // #define RS485_MAX13487 // RS485 PHY : MAX13487 (AutoDir) #undef RS485_MAX13487 // RS485 PHY : SP3487 (no AutoDir) /* >>>>>>>>>>>>>>>>>>>>[IIC TYPE DEFINE]<<<<<<<<<<<<<<<<<<<< */ #define POWER_SUPPLY_24V // Powwer Supplu : 24V // #undef POWER_SUPPLY_24V // Powwer Supplu : 12V /* >>>>>>>>>>>>>>>>>>>>[DEBUG ASSERTIONS DEFINE]<<<<<<<<<<<<<<<<<<<< */ // #define DEBUG_VERBOSE // Debug Assertions Status : Debug Verbose Information #undef DEBUG_VERBOSE // Debug Assertions Status : No Debug Verbose Information /******************************************************************************/ /* Dynamic USART Configuration Structure */ typedef struct { uint32_t rcu_usart; uint32_t usart_periph; IRQn_Type irq_type; void (*irq_handler)(void); // 函数指针:指向中断处理函数 } usart_config_t; extern usart_config_t g_usart_config; extern uint8_t g_mcu_flash_size; /* USART中断处理函数声明 */ void usart0_irq_handler(void); void usart1_irq_handler(void); /******************************************************************************/ #define RCU_GPIO_I2C RCU_GPIOF #define RCU_I2C RCU_I2C0 #define I2C_SCL_PORT GPIOF #define I2C_SCL_PIN GPIO_PIN_1 #define I2C_SDA_PORT GPIOF #define I2C_SDA_PIN GPIO_PIN_0 #define I2C_GPIO_AF GPIO_AF_1 #define I2C_DEBUG_UART USART0 /******************************************************************************/ #define LED_PORT GPIOA #define LED_PIN GPIO_PIN_9 #define LED_RCU RCU_GPIOA /******************************************************************************/ #define RS485_RCU (g_usart_config.rcu_usart) #define RS485_PHY (g_usart_config.usart_periph) #define RS485_IRQ (g_usart_config.irq_type) #define RS485_GPIO_RCU RCU_GPIOA #define RS485_GPIO_PORT GPIOA #define RS485_EN_PIN GPIO_PIN_1 #define RS485_TX_PIN GPIO_PIN_2 #define RS485_RX_PIN GPIO_PIN_3 #define RS485_BAUDRATE 115200U /******************************************************************************/ #define US_TX_GPIO_RCU RCU_GPIOB #define US_TX_GPIO_PORT GPIOB #define US_TX_GPIO_PIN GPIO_PIN_1 #define US_TX_GPIO_AF GPIO_AF_0 #define US_TX_TIMER_RCU RCU_TIMER13 #define US_TX_TIMER TIMER13 #define US_TX_TIMER_CH TIMER_CH_0 /******************************************************************************/ #define US_RX_GPIO_RCU RCU_GPIOB #define US_RX_EXTI_RCU RCU_CFGCMP #define US_RX_GPIO_PORT GPIOA #define US_RX_GPIO_PIN GPIO_PIN_0 #define US_RX_GPIO_EXTI EXTI_0 #define US_RX_EXTI_LINE EXTI_SOURCE_PIN0 #define US_RX_EXTI_IRQ EXTI0_1_IRQn /******************************************************************************/ #define US_ECHO_RCU RCU_TIMER16 #define US_ECHO_TIMER TIMER16 #define US_ECHO_CH TIMER_CH_0 #define US_ECHO_TIMER_IRQ TIMER16_IRQn /******************************************************************************/ void mcu_detect_and_config(void); uint8_t get_flash_size(void); #endif //BOARD_CONFIG_H