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

Last change on this file was 17, checked in by f.jahn, 4 months 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.