#include "include.h" #include "driver_gpio.h" #include "driver_uart.h" #include "bsp_uart_debug.h" #if BSP_UART_DEBUG_EN void bsp_uart_debug_init(void) { uart_init_typedef uart_init_struct; gpio_init_typedef gpio_init_structure; /************************** 时钟使能 ***************************/ clk_gate0_cmd(CLK_GATE0_UART, CLK_EN); /************************* GPIO初始化 *************************/ gpio_init_structure.gpio_pin = UART_DEBUG_PIN_SEL; gpio_init_structure.gpio_fen = GPIO_FEN_PER; gpio_init_structure.gpio_fdir = GPIO_FDIR_MAP; gpio_init_structure.gpio_mode = GPIO_MODE_DIGITAL; gpio_init(UART_DEBUG_PORT_SEL, &gpio_init_structure); /*********************** Crossbar映射 ************************/ gpio_func_mapping_config(UART_DEBUG_PORT_SEL, UART_DEBUG_PIN_SEL, GPIO_CROSSBAR_IN_UARTRX); gpio_func_mapping_config(UART_DEBUG_PORT_SEL, UART_DEBUG_PIN_SEL, GPIO_CROSSBAR_OUT_UARTTX); /************************** 使能串口 **************************/ uart_init_struct.baud = UART_DEBUG_BAUD; uart_init_struct.mode = UART_SEND_RECV_MODE; uart_init_struct.word_len = UART_WORD_LENGTH_8b; uart_init_struct.stop_bits = UART_STOP_BIT_1BIT; uart_init_struct.one_line_enable = UART_ONE_LINE; uart_init_struct.clock_source = UART_SYSTEM_CLOCK; uart_init(UART, &uart_init_struct); uart_cmd(UART, ENABLE); } #endif // BSP_UART_DEBUG_EN