source: trunk/firmware_v2/Core/Src/usart.c

Last change on this file was 17, checked in by f.jahn, 10 days ago
File size: 4.0 KB
Line 
1/* USER CODE BEGIN Header */
2/**
3  ******************************************************************************
4  * @file    usart.c
5  * @brief   This file provides code for the configuration
6  *          of the USART instances.
7  ******************************************************************************
8  * @attention
9  *
10  * Copyright (c) 2025 STMicroelectronics.
11  * All rights reserved.
12  *
13  * This software is licensed under terms that can be found in the LICENSE file
14  * in the root directory of this software component.
15  * If no LICENSE file comes with this software, it is provided AS-IS.
16  *
17  ******************************************************************************
18  */
19/* USER CODE END Header */
20/* Includes ------------------------------------------------------------------*/
21#include "usart.h"
22
23/* USER CODE BEGIN 0 */
24
25/* USER CODE END 0 */
26
27UART_HandleTypeDef huart1;
28
29/* USART1 init function */
30
31void MX_USART1_UART_Init(void)
32{
33
34  /* USER CODE BEGIN USART1_Init 0 */
35
36  /* USER CODE END USART1_Init 0 */
37
38  /* USER CODE BEGIN USART1_Init 1 */
39
40  /* USER CODE END USART1_Init 1 */
41  huart1.Instance = USART1;
42  huart1.Init.BaudRate = 115200;
43  huart1.Init.WordLength = UART_WORDLENGTH_8B;
44  huart1.Init.StopBits = UART_STOPBITS_1;
45  huart1.Init.Parity = UART_PARITY_NONE;
46  huart1.Init.Mode = UART_MODE_TX_RX;
47  huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
48  huart1.Init.OverSampling = UART_OVERSAMPLING_16;
49  huart1.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
50  huart1.Init.ClockPrescaler = UART_PRESCALER_DIV1;
51  huart1.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_NO_INIT;
52  if (HAL_UART_Init(&huart1) != HAL_OK)
53  {
54    Error_Handler();
55  }
56  if (HAL_UARTEx_SetTxFifoThreshold(&huart1, UART_TXFIFO_THRESHOLD_1_8) != HAL_OK)
57  {
58    Error_Handler();
59  }
60  if (HAL_UARTEx_SetRxFifoThreshold(&huart1, UART_RXFIFO_THRESHOLD_1_8) != HAL_OK)
61  {
62    Error_Handler();
63  }
64  if (HAL_UARTEx_DisableFifoMode(&huart1) != HAL_OK)
65  {
66    Error_Handler();
67  }
68  /* USER CODE BEGIN USART1_Init 2 */
69
70  /* USER CODE END USART1_Init 2 */
71
72}
73
74void HAL_UART_MspInit(UART_HandleTypeDef* uartHandle)
75{
76
77  GPIO_InitTypeDef GPIO_InitStruct = {0};
78  RCC_PeriphCLKInitTypeDef PeriphClkInit = {0};
79  if(uartHandle->Instance==USART1)
80  {
81  /* USER CODE BEGIN USART1_MspInit 0 */
82
83  /* USER CODE END USART1_MspInit 0 */
84
85  /** Initializes the peripherals clocks
86  */
87    PeriphClkInit.PeriphClockSelection = RCC_PERIPHCLK_USART1;
88    PeriphClkInit.Usart1ClockSelection = RCC_USART1CLKSOURCE_PCLK1;
89    if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInit) != HAL_OK)
90    {
91      Error_Handler();
92    }
93
94    /* USART1 clock enable */
95    __HAL_RCC_USART1_CLK_ENABLE();
96
97    __HAL_RCC_GPIOA_CLK_ENABLE();
98    /**USART1 GPIO Configuration
99    PA8     ------> USART1_RX
100    PA9     ------> USART1_TX
101    */
102    GPIO_InitStruct.Pin = GPIO_PIN_8;
103    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
104    GPIO_InitStruct.Pull = GPIO_NOPULL;
105    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
106    GPIO_InitStruct.Alternate = GPIO_AF14_USART1;
107    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
108
109    GPIO_InitStruct.Pin = GPIO_PIN_9;
110    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
111    GPIO_InitStruct.Pull = GPIO_NOPULL;
112    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
113    GPIO_InitStruct.Alternate = GPIO_AF1_USART1;
114    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
115
116  /* USER CODE BEGIN USART1_MspInit 1 */
117
118  /* USER CODE END USART1_MspInit 1 */
119  }
120}
121
122void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle)
123{
124
125  if(uartHandle->Instance==USART1)
126  {
127  /* USER CODE BEGIN USART1_MspDeInit 0 */
128
129  /* USER CODE END USART1_MspDeInit 0 */
130    /* Peripheral clock disable */
131    __HAL_RCC_USART1_CLK_DISABLE();
132
133    /**USART1 GPIO Configuration
134    PA8     ------> USART1_RX
135    PA9     ------> USART1_TX
136    */
137    HAL_GPIO_DeInit(GPIOA, GPIO_PIN_8|GPIO_PIN_9);
138
139  /* USER CODE BEGIN USART1_MspDeInit 1 */
140
141  /* USER CODE END USART1_MspDeInit 1 */
142  }
143}
144
145/* USER CODE BEGIN 1 */
146
147/* USER CODE END 1 */
Note: See TracBrowser for help on using the repository browser.