- static const DL_UART_Main_ClockConfig gUART_0ClockConfig = {//串口主时钟的配置
- .clockSel = DL_UART_MAIN_CLOCK_BUSCLK,
- .divideRatio = DL_UART_MAIN_CLOCK_DIVIDE_RATIO_1
- };
- static const DL_UART_Main_Config gUART_0Config = {//串口0的配置
- .mode = DL_UART_MAIN_MODE_NORMAL,
- .direction = DL_UART_MAIN_DIRECTION_TX_RX,
- .flowControl = DL_UART_MAIN_FLOW_CONTROL_RTS_CTS,
- .parity = DL_UART_MAIN_PARITY_NONE,
- .wordLength = DL_UART_MAIN_WORD_LENGTH_8_BITS,
- .stopBits = DL_UART_MAIN_STOP_BITS_ONE
- };
- SYSCONFIG_WEAK void SYSCFG_DL_UART_0_init(void)//串口的初始化
- {
- DL_UART_Main_setClockConfig(UART_0_INST, (DL_UART_Main_ClockConfig *) &gUART_0ClockConfig);
- DL_UART_Main_init(UART_0_INST, (DL_UART_Main_Config *) &gUART_0Config);
- /*
- * Configure baud rate by setting oversampling and baud rate divisors.
- * Target baud rate: 115200
- * Actual baud rate: 115211.52
- */
- DL_UART_Main_setOversampling(UART_0_INST, DL_UART_OVERSAMPLING_RATE_16X);
- DL_UART_Main_setBaudRateDivisor(UART_0_INST,
- UART_0_IBRD_32_MHZ_115200_BAUD, UART_0_FBRD_32_MHZ_115200_BAUD);
- /* Configure Interrupts */
- DL_UART_Main_enableInterrupt(UART_0_INST,
- DL_UART_MAIN_INTERRUPT_RX |
- DL_UART_MAIN_INTERRUPT_RX_TIMEOUT_ERROR);
- /* Configure FIFOs */
- DL_UART_Main_enableFIFOs(UART_0_INST);
- DL_UART_Main_setRXFIFOThreshold(UART_0_INST, DL_UART_RX_FIFO_LEVEL_3_4_FULL);
- DL_UART_Main_setTXFIFOThreshold(UART_0_INST, DL_UART_TX_FIFO_LEVEL_1_2_EMPTY);
- DL_UART_Main_setRXInterruptTimeout(UART_0_INST, 15);
- DL_UART_Main_enable(UART_0_INST);
- }
|