1 /**
2 * @brief The application entry point.
3 * @retval int
4 */
5 int main(void)
6 {
7 /* USER CODE BEGIN 1 */
8
9 /* USER CODE END 1 */
10
11 /* MCU Configuration--------------------------------------------------------*/
12
13 /* Reset of all peripherals, Initializes the Flash interface and the Systick. */
14 HAL_Init();
15
16 /* USER CODE BEGIN Init */
17
18 /* USER CODE END Init */
19
20 /* Configure the system clock */
21 SystemClock_Config();
22
23 /* USER CODE BEGIN SysInit */
24
25 /* USER CODE END SysInit */
26
27 /* Initialize all configured peripherals */
28 MX_GPIO_Init();
29 MX_DMA_Init();
30 MX_USART1_UART_Init();
31 /* USER CODE BEGIN 2 */
32 queue_mes = xQueueCreate(10, sizeof(usart_multibuffer_data));
33 UART_DMA_MultiBuffer();
34 /* USER CODE END 2 */
35
36 /* Init scheduler */
37 osKernelInitialize(); /* Call init function for freertos objects (in freertos.c) */
38 MX_FREERTOS_Init();
39 /* Start scheduler */
40 osKernelStart();
41
42 /* We should never get here as control is now taken by the scheduler */
43 /* Infinite loop */
44 /* USER CODE BEGIN WHILE */
45 while (1)
46 {
47 /* USER CODE END WHILE */
48
49 /* USER CODE BEGIN 3 */
50 }
51 /* USER CODE END 3 */
52 }
1 extern usart_multibuffer_data uart_buf[2];
2 extern QueueHandle_t queue_mes;
3 usart_multibuffer_data queue_data;
4
5 /* USER CODE BEGIN Header_StartDefaultTask */
6 /**
7 * @brief Function implementing the defaultTask thread.
8 * @param argument: Not used
9 * @retval None
10 */
11 /* USER CODE END Header_StartDefaultTask */
12 void StartDefaultTask(void *argument)
13 {
14 /* USER CODE BEGIN StartDefaultTask */
15 BaseType_t ret = pdFALSE;
16 /* Infinite loop */
17 for(;;)
18 {
19 ret = xQueueReceive(queue_mes,&queue_data,portMAX_DELAY);
20 if(ret == pdTRUE)
21 {
22 HAL_UART_Transmit(&huart1,queue_data.data,queue_data.len,100);
23 }
24 }
25 /* USER CODE END StartDefaultTask */
26 }