1 /* USER CODE BEGIN Header */
2 /**
3   ******************************************************************************
4   * File Name          : stm32f1xx_hal_msp.c
5   * Description        : This file provides code for the MSP Initialization
6   *                      and de-Initialization codes.
7   ******************************************************************************
8   * @attention
9   *
10   * <h2><center>&copy; Copyright (c) 2019 STMicroelectronics.
11   * All rights reserved.</center></h2>
12   *
13   * This software component is licensed by ST under BSD 3-Clause license,
14   * the "License"; You may not use this file except in compliance with the
15   * License. You may obtain a copy of the License at:
16   *                        opensource.org/licenses/BSD-3-Clause
17   *
18   ******************************************************************************
19   */
20 /* USER CODE END Header */
21 
22 /* Includes ------------------------------------------------------------------*/
23 #include "main.h"
24 /* USER CODE BEGIN Includes */
25 #include <drv_common.h>
26 /* USER CODE END Includes */
27 
28 /* Private typedef -----------------------------------------------------------*/
29 /* USER CODE BEGIN TD */
30 
31 /* USER CODE END TD */
32 
33 /* Private define ------------------------------------------------------------*/
34 /* USER CODE BEGIN Define */
35 
36 /* USER CODE END Define */
37 
38 /* Private macro -------------------------------------------------------------*/
39 /* USER CODE BEGIN Macro */
40 
41 /* USER CODE END Macro */
42 
43 /* Private variables ---------------------------------------------------------*/
44 /* USER CODE BEGIN PV */
45 
46 /* USER CODE END PV */
47 
48 /* Private function prototypes -----------------------------------------------*/
49 /* USER CODE BEGIN PFP */
50 
51 /* USER CODE END PFP */
52 
53 /* External functions --------------------------------------------------------*/
54 /* USER CODE BEGIN ExternalFunctions */
55 
56 /* USER CODE END ExternalFunctions */
57 
58 /* USER CODE BEGIN 0 */
59 
60 /* USER CODE END 0 */
61 /**
62   * Initializes the Global MSP.
63   */
HAL_MspInit(void)64 void HAL_MspInit(void)
65 {
66   /* USER CODE BEGIN MspInit 0 */
67 
68   /* USER CODE END MspInit 0 */
69 
70   __HAL_RCC_AFIO_CLK_ENABLE();
71   __HAL_RCC_PWR_CLK_ENABLE();
72 
73   /* System interrupt init*/
74 
75   /** NOJTAG: JTAG-DP Disabled and SW-DP Enabled
76   */
77   __HAL_AFIO_REMAP_SWJ_NOJTAG();
78 
79   /* USER CODE BEGIN MspInit 1 */
80 
81   /* USER CODE END MspInit 1 */
82 }
83 
84 /**
85 * @brief UART MSP Initialization
86 * This function configures the hardware resources used in this example
87 * @param huart: UART handle pointer
88 * @retval None
89 */
HAL_UART_MspInit(UART_HandleTypeDef * huart)90 void HAL_UART_MspInit(UART_HandleTypeDef* huart)
91 {
92   GPIO_InitTypeDef GPIO_InitStruct = {0};
93   if(huart->Instance==USART1)
94   {
95   /* USER CODE BEGIN USART1_MspInit 0 */
96 
97   /* USER CODE END USART1_MspInit 0 */
98     /* Peripheral clock enable */
99     __HAL_RCC_USART1_CLK_ENABLE();
100 
101     __HAL_RCC_GPIOA_CLK_ENABLE();
102     /**USART1 GPIO Configuration
103     PA9     ------> USART1_TX
104     PA10     ------> USART1_RX
105     */
106     GPIO_InitStruct.Pin = GPIO_PIN_9;
107     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
108     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
109     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
110 
111     GPIO_InitStruct.Pin = GPIO_PIN_10;
112     GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
113     GPIO_InitStruct.Pull = GPIO_PULLUP;
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   if(huart->Instance==USART2)
122   {
123   /* USER CODE BEGIN USART2_MspInit 0 */
124 
125   /* USER CODE END USART2_MspInit 0 */
126     /* Peripheral clock enable */
127     __HAL_RCC_USART2_CLK_ENABLE();
128 
129     __HAL_RCC_GPIOA_CLK_ENABLE();
130     /**USART2 GPIO Configuration
131     PA2     ------> USART2_TX
132     PA3     ------> USART2_RX
133     */
134     GPIO_InitStruct.Pin = GPIO_PIN_2;
135     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
136     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
137     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
138 
139     GPIO_InitStruct.Pin = GPIO_PIN_3;
140     GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
141     GPIO_InitStruct.Pull = GPIO_PULLUP;
142     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
143 
144   /* USER CODE BEGIN USART2_MspInit 1 */
145 
146   /* USER CODE END USART2_MspInit 1 */
147   }
148 
149 }
150 
151 /**
152 * @brief UART MSP De-Initialization
153 * This function freeze the hardware resources used in this example
154 * @param huart: UART handle pointer
155 * @retval None
156 */
HAL_UART_MspDeInit(UART_HandleTypeDef * huart)157 void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
158 {
159   if(huart->Instance==USART1)
160   {
161   /* USER CODE BEGIN USART1_MspDeInit 0 */
162 
163   /* USER CODE END USART1_MspDeInit 0 */
164     /* Peripheral clock disable */
165     __HAL_RCC_USART1_CLK_DISABLE();
166 
167     /**USART1 GPIO Configuration
168     PA9     ------> USART1_TX
169     PA10     ------> USART1_RX
170     */
171     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10);
172 
173   /* USER CODE BEGIN USART1_MspDeInit 1 */
174 
175   /* USER CODE END USART1_MspDeInit 1 */
176   }
177   if(huart->Instance==USART2)
178   {
179   /* USER CODE BEGIN USART2_MspDeInit 0 */
180 
181   /* USER CODE END USART2_MspDeInit 0 */
182     /* Peripheral clock disable */
183     __HAL_RCC_USART2_CLK_DISABLE();
184 
185     /**USART2 GPIO Configuration
186     PA2     ------> USART2_TX
187     PA3     ------> USART2_RX
188     */
189     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3);
190 
191   /* USER CODE BEGIN USART2_MspDeInit 1 */
192 
193   /* USER CODE END USART2_MspDeInit 1 */
194   }
195 
196 }
197 
198 /* USER CODE BEGIN 1 */
199 
200 /* USER CODE END 1 */
201 
202 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
203