#include"main.h"#define COUNTOF(__BUFFER__) (sizeof(__BUFFER__) / sizeof(*(__BUFFER__)))
#define TXSTARTMESSAGESIZE (COUNTOF(aTxStartMessage) - 1)
#define TXENDMESSAGESIZE (COUNTOF(aTxEndMessage) - 1)
intmain(void){/* Reset of all peripherals, Initializes the Systick. */HAL_Init();/* Configure LED */BSP_LED_Init(LED_GREEN);/* USART initialization */UartHandle.Instance=USART1;UartHandle.Init.BaudRate=115200;UartHandle.Init.WordLength=UART_WORDLENGTH_8B;UartHandle.Init.StopBits=UART_STOPBITS_1;UartHandle.Init.Parity=UART_PARITY_NONE;UartHandle.Init.HwFlowCtl=UART_HWCONTROL_NONE;UartHandle.Init.Mode=UART_MODE_TX_RX;UartHandle.Init.OverSampling=UART_OVERSAMPLING_16;UartHandle.AdvancedInit.AdvFeatureInit=UART_ADVFEATURE_NO_INIT;HAL_UART_Init(&UartHandle);/* Start the transmission process */if(HAL_UART_Transmit_IT(&UartHandle,(uint8_t*)aTxStartMessage,TXSTARTMESSAGESIZE)!=HAL_OK){/* Transfer error in transmission process */APP_ErrorHandler();}/* Put UART peripheral in reception process */if(HAL_UART_Receive_IT(&UartHandle,(uint8_t*)aRxBuffer,12)!=HAL_OK){/* Transfer error in reception process */APP_ErrorHandler();}/* Wait for the end of the transfer */while(HAL_UART_GetState(&UartHandle)!=HAL_UART_STATE_READY){}/* Send the received Buffer */if(HAL_UART_Transmit_IT(&UartHandle,(uint8_t*)aRxBuffer,12)!=HAL_OK){/* Transfer error in transmission process */APP_ErrorHandler();}/* Wait for the end of the transfer */while(HAL_UART_GetState(&UartHandle)!=HAL_UART_STATE_READY){}/* Send the End Message */if(HAL_UART_Transmit_IT(&UartHandle,(uint8_t*)aTxEndMessage,TXENDMESSAGESIZE)!=HAL_OK){/* Transfer error in transmission process */APP_ErrorHandler();}/* Wait for the end of the transfer */while(HAL_UART_GetState(&UartHandle)!=HAL_UART_STATE_READY){}/* Turn on LED if test passes then enter infinite loop */BSP_LED_On(LED_GREEN);/* Infinite loop */while(1){}}