/** * @brief Example firmware main entry point. * @par Parameters: * None * @retval * None */ void main(void) { /*High speed internal clock prescaler: 1*/ CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV1); /* Enable general interrupts */ enableInterrupts(); /* Deinitializes the UART1 and UART3 peripheral */ UART1_DeInit(); UART3_DeInit(); /* UART1 and UART3 configuration -------------------------------------------------*/ /* UART1 and UART3 configured as follow: - BaudRate = 9600 baud - Word Length = 8 Bits - One Stop Bit - No parity - Receive and transmit enabled - UART1 Clock disabled */ /* Configure the UART1 */ UART1_Init((u32)9600, UART1_WORDLENGTH_8D, UART1_STOPBITS_1, UART1_PARITY_NO, UART1_SYNCMODE_CLOCK_DISABLE, UART1_MODE_TXRX_ENABLE); /* Configure the UART3 */ UART3_Init((u32)9600, UART3_WORDLENGTH_8D, UART3_STOPBITS_1, UART3_PARITY_NO, UART3_MODE_TXRX_ENABLE); /* Enable UART3 Receive and UART1 Transmit interrupt */ UART3_ITConfig(UART3_IT_RXNE_OR, ENABLE); UART1_ITConfig(UART1_IT_TXE, ENABLE); /* Wait until end of transmission from UART1 to UART3 */ while (GetVar_RxCounter2() < GetVar_NbrOfDataToTransfer1()) { } /* Enable UART1 Receive and UART3 Transmit interrupt */ UART1_ITConfig(UART1_IT_RXNE_OR, ENABLE); UART3_ITConfig(UART3_IT_TXE, ENABLE); /* Wait until end of transmission from UART3 to UART1 */ while (GetVar_RxCounter1() < GetVar_NbrOfDataToTransfer2()) { } /* Check the received data with the send ones */ TransferStatus1 = Buffercmp(TxBuffer2, RxBuffer1, RxBufferSize1); /* TransferStatus1 = PASSED, if the data transmitted from UART3 and received by UART1 are the same */ /* TransferStatus1 = FAILED, if the data transmitted from UART3 and received by UART1 are different */ TransferStatus2 = Buffercmp(TxBuffer1, RxBuffer2, RxBufferSize2); /* TransferStatus2 = PASSED, if the data transmitted from UART1 and received by UART3 are the same */ /* TransferStatus2 = FAILED, if the data transmitted from UART1 and received by UART3 are different */ while (1); }
/** * @brief 调试串口,UART3 * @param None * @retval None */ void DBG_Config() { UART3_DeInit(); UART3_Init((uint32_t)115200, UART3_WORDLENGTH_8D, UART3_STOPBITS_1, UART3_PARITY_NO, UART3_MODE_TX_DISABLE | UART3_MODE_RX_DISABLE); UART3_ITConfig(UART3_IT_TXE, DISABLE); }
void UART_Init(unsigned long baudrate) { /* Deinitializes the UART3 peripheral */ UART3_DeInit(); /* Configure the UART3 */ UART3_Init((uint32_t)baudrate, UART3_WORDLENGTH_8D, UART3_STOPBITS_1, UART3_PARITY_NO, UART3_MODE_TXRX_ENABLE); /* Enable UART3 Receive interrupt */ UART3_ITConfig(UART3_IT_RXNE_OR, ENABLE); /* Enable general interrupts */ enableInterrupts(); }