generated from hulk/gd32e23x_template_cmake_vscode
111 lines
3.5 KiB
C
111 lines
3.5 KiB
C
#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 MCU_CODE 23u
|
|
|
|
#define FW_VERSION_MAJOR 0
|
|
#define FW_VERSION_MINOR 0
|
|
#define FW_VERSION_PATCH 3
|
|
|
|
/******************************************************************************/
|
|
|
|
#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
|