1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
#include "main.h"
#define COUNTOF(__BUFFER__) (sizeof(__BUFFER__) / sizeof(*(__BUFFER__)))
#define TXSTARTMESSAGESIZE (COUNTOF(aTxStartMessage) - 1)
#define TXENDMESSAGESIZE (COUNTOF(aTxEndMessage) - 1)
int main(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(&UartHandle, (uint8_t*)aTxStartMessage, TXSTARTMESSAGESIZE, 5000)!= HAL_OK)
{
/* Transfer error in transmission process */
APP_ErrorHandler();
}
/* Put UART peripheral in reception process */
if(HAL_UART_Receive(&UartHandle, (uint8_t *)aRxBuffer, 12, 5000) != HAL_OK)
{
/* Transfer error in reception process */
APP_ErrorHandler();
}
/* Send the received Buffer */
if(HAL_UART_Transmit(&UartHandle, (uint8_t*)aRxBuffer, 12, 5000)!= HAL_OK)
{
/* Transfer error in transmission process */
APP_ErrorHandler();
}
/* Send the End Message */
if(HAL_UART_Transmit(&UartHandle, (uint8_t*)aTxEndMessage, TXENDMESSAGESIZE, 5000)!= HAL_OK)
{
/* Transfer error in transmission process */
APP_ErrorHandler();
}
/* Turn on LED if test passes then enter infinite loop */
BSP_LED_On(LED_GREEN);
/* Infinite loop */
while (1)
{
}
}
|