1 /* USER CODE BEGIN Header */
2 /**
3   ******************************************************************************
4   * File Name          : stm32l4xx_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_SYSCFG_CLK_ENABLE();
71   __HAL_RCC_PWR_CLK_ENABLE();
72 
73   /* System interrupt init*/
74 
75   /* USER CODE BEGIN MspInit 1 */
76 
77   /* USER CODE END MspInit 1 */
78 }
79 
80 /**
81 * @brief UART MSP Initialization
82 * This function configures the hardware resources used in this example
83 * @param huart: UART handle pointer
84 * @retval None
85 */
HAL_UART_MspInit(UART_HandleTypeDef * huart)86 void HAL_UART_MspInit(UART_HandleTypeDef* huart)
87 {
88   GPIO_InitTypeDef GPIO_InitStruct = {0};
89   if(huart->Instance==LPUART1)
90   {
91   /* USER CODE BEGIN LPUART1_MspInit 0 */
92 
93   /* USER CODE END LPUART1_MspInit 0 */
94     /* Peripheral clock enable */
95     __HAL_RCC_LPUART1_CLK_ENABLE();
96 
97     __HAL_RCC_GPIOG_CLK_ENABLE();
98     HAL_PWREx_EnableVddIO2();
99     /**LPUART1 GPIO Configuration
100     PG7     ------> LPUART1_TX
101     PG8     ------> LPUART1_RX
102     */
103     GPIO_InitStruct.Pin = GPIO_PIN_7|GPIO_PIN_8;
104     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
105     GPIO_InitStruct.Pull = GPIO_PULLUP;
106     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
107     GPIO_InitStruct.Alternate = GPIO_AF8_LPUART1;
108     HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
109 
110   /* USER CODE BEGIN LPUART1_MspInit 1 */
111 
112   /* USER CODE END LPUART1_MspInit 1 */
113   }
114   else if(huart->Instance==USART3)
115   {
116   /* USER CODE BEGIN USART3_MspInit 0 */
117 
118   /* USER CODE END USART3_MspInit 0 */
119     /* Peripheral clock enable */
120     __HAL_RCC_USART3_CLK_ENABLE();
121 
122     __HAL_RCC_GPIOD_CLK_ENABLE();
123     /**USART3 GPIO Configuration
124     PD8     ------> USART3_TX
125     PD9     ------> USART3_RX
126     */
127     GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9;
128     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
129     GPIO_InitStruct.Pull = GPIO_PULLUP;
130     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
131     GPIO_InitStruct.Alternate = GPIO_AF7_USART3;
132     HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
133 
134   /* USER CODE BEGIN USART3_MspInit 1 */
135 
136   /* USER CODE END USART3_MspInit 1 */
137   }
138 
139 }
140 
141 /**
142 * @brief UART MSP De-Initialization
143 * This function freeze the hardware resources used in this example
144 * @param huart: UART handle pointer
145 * @retval None
146 */
HAL_UART_MspDeInit(UART_HandleTypeDef * huart)147 void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
148 {
149   if(huart->Instance==LPUART1)
150   {
151   /* USER CODE BEGIN LPUART1_MspDeInit 0 */
152 
153   /* USER CODE END LPUART1_MspDeInit 0 */
154     /* Peripheral clock disable */
155     __HAL_RCC_LPUART1_CLK_DISABLE();
156 
157     /**LPUART1 GPIO Configuration
158     PG7     ------> LPUART1_TX
159     PG8     ------> LPUART1_RX
160     */
161     HAL_GPIO_DeInit(GPIOG, GPIO_PIN_7|GPIO_PIN_8);
162 
163   /* USER CODE BEGIN LPUART1_MspDeInit 1 */
164 
165   /* USER CODE END LPUART1_MspDeInit 1 */
166   }
167   else if(huart->Instance==USART3)
168   {
169   /* USER CODE BEGIN USART3_MspDeInit 0 */
170 
171   /* USER CODE END USART3_MspDeInit 0 */
172     /* Peripheral clock disable */
173     __HAL_RCC_USART3_CLK_DISABLE();
174 
175     /**USART3 GPIO Configuration
176     PD8     ------> USART3_TX
177     PD9     ------> USART3_RX
178     */
179     HAL_GPIO_DeInit(GPIOD, GPIO_PIN_8|GPIO_PIN_9);
180 
181   /* USER CODE BEGIN USART3_MspDeInit 1 */
182 
183   /* USER CODE END USART3_MspDeInit 1 */
184   }
185 
186 }
187 
188 /* USER CODE BEGIN 1 */
189 
190 /* USER CODE END 1 */
191 
192 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
193