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   ** This notice applies to any and all portions of this file
9   * that are not between comment pairs USER CODE BEGIN and
10   * USER CODE END. Other portions of this file, whether
11   * inserted by the user or by software development tools
12   * are owned by their respective copyright owners.
13   *
14   * COPYRIGHT(c) 2018 STMicroelectronics
15   *
16   * Redistribution and use in source and binary forms, with or without modification,
17   * are permitted provided that the following conditions are met:
18   *   1. Redistributions of source code must retain the above copyright notice,
19   *      this list of conditions and the following disclaimer.
20   *   2. Redistributions in binary form must reproduce the above copyright notice,
21   *      this list of conditions and the following disclaimer in the documentation
22   *      and/or other materials provided with the distribution.
23   *   3. Neither the name of STMicroelectronics nor the names of its contributors
24   *      may be used to endorse or promote products derived from this software
25   *      without specific prior written permission.
26   *
27   * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
28   * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
29   * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
30   * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
31   * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
32   * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
33   * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
34   * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
35   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
36   * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37   *
38   ******************************************************************************
39   */
40 /* USER CODE END Header */
41 
42 /* Includes ------------------------------------------------------------------*/
43 #include "main.h"
44 /* USER CODE BEGIN Includes */
45 #include <drv_common.h>
46 /* USER CODE END Includes */
47 
48 /* Private typedef -----------------------------------------------------------*/
49 /* USER CODE BEGIN TD */
50 
51 /* USER CODE END TD */
52 
53 /* Private define ------------------------------------------------------------*/
54 /* USER CODE BEGIN Define */
55 
56 /* USER CODE END Define */
57 
58 /* Private macro -------------------------------------------------------------*/
59 /* USER CODE BEGIN Macro */
60 
61 /* USER CODE END Macro */
62 
63 /* Private variables ---------------------------------------------------------*/
64 /* USER CODE BEGIN PV */
65 
66 /* USER CODE END PV */
67 
68 /* Private function prototypes -----------------------------------------------*/
69 /* USER CODE BEGIN PFP */
70 
71 /* USER CODE END PFP */
72 
73 /* External functions --------------------------------------------------------*/
74 /* USER CODE BEGIN ExternalFunctions */
75 
76 /* USER CODE END ExternalFunctions */
77 
78 /* USER CODE BEGIN 0 */
79 
80 /* USER CODE END 0 */
81 /**
82   * Initializes the Global MSP.
83   */
HAL_MspInit(void)84 void HAL_MspInit(void)
85 {
86   /* USER CODE BEGIN MspInit 0 */
87 
88   /* USER CODE END MspInit 0 */
89 
90   __HAL_RCC_SYSCFG_CLK_ENABLE();
91   __HAL_RCC_PWR_CLK_ENABLE();
92 
93   /* System interrupt init*/
94 
95   /* USER CODE BEGIN MspInit 1 */
96 
97   /* USER CODE END MspInit 1 */
98 }
99 
100 /**
101 * @brief UART MSP Initialization
102 * This function configures the hardware resources used in this example
103 * @param huart: UART handle pointer
104 * @retval None
105 */
HAL_UART_MspInit(UART_HandleTypeDef * huart)106 void HAL_UART_MspInit(UART_HandleTypeDef* huart)
107 {
108 
109   GPIO_InitTypeDef GPIO_InitStruct = {0};
110   if(huart->Instance==USART1)
111   {
112   /* USER CODE BEGIN USART1_MspInit 0 */
113 
114   /* USER CODE END USART1_MspInit 0 */
115     /* Peripheral clock enable */
116     __HAL_RCC_USART1_CLK_ENABLE();
117 
118     __HAL_RCC_GPIOA_CLK_ENABLE();
119     /**USART1 GPIO Configuration
120     PA9     ------> USART1_TX
121     PA10     ------> USART1_RX
122     */
123     GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_10;
124     GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
125     GPIO_InitStruct.Pull = GPIO_PULLUP;
126     GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
127     GPIO_InitStruct.Alternate = GPIO_AF7_USART1;
128     HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
129 
130     /* USART1 interrupt Init */
131     HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);
132     HAL_NVIC_EnableIRQ(USART1_IRQn);
133   /* USER CODE BEGIN USART1_MspInit 1 */
134 
135   /* USER CODE END USART1_MspInit 1 */
136   }
137 
138 }
139 
140 /**
141 * @brief UART MSP De-Initialization
142 * This function freeze the hardware resources used in this example
143 * @param huart: UART handle pointer
144 * @retval None
145 */
146 
HAL_UART_MspDeInit(UART_HandleTypeDef * huart)147 void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
148 {
149 
150   if(huart->Instance==USART1)
151   {
152   /* USER CODE BEGIN USART1_MspDeInit 0 */
153 
154   /* USER CODE END USART1_MspDeInit 0 */
155     /* Peripheral clock disable */
156     __HAL_RCC_USART1_CLK_DISABLE();
157 
158     /**USART1 GPIO Configuration
159     PA9     ------> USART1_TX
160     PA10     ------> USART1_RX
161     */
162     HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10);
163 
164     /* USART1 interrupt DeInit */
165     HAL_NVIC_DisableIRQ(USART1_IRQn);
166   /* USER CODE BEGIN USART1_MspDeInit 1 */
167 
168   /* USER CODE END USART1_MspDeInit 1 */
169   }
170 
171 }
172 
173 /* USER CODE BEGIN 1 */
174 
175 /* USER CODE END 1 */
176 
177 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
178