1 /**
2 ******************************************************************************
3 * File Name : stm32l0xx_hal_msp.c
4 * Description : This file provides code for the MSP Initialization
5 * and de-Initialization codes.
6 ******************************************************************************
7 ** This notice applies to any and all portions of this file
8 * that are not between comment pairs USER CODE BEGIN and
9 * USER CODE END. Other portions of this file, whether
10 * inserted by the user or by software development tools
11 * are owned by their respective copyright owners.
12 *
13 * COPYRIGHT(c) 2019 STMicroelectronics
14 *
15 * Redistribution and use in source and binary forms, with or without modification,
16 * are permitted provided that the following conditions are met:
17 * 1. Redistributions of source code must retain the above copyright notice,
18 * this list of conditions and the following disclaimer.
19 * 2. Redistributions in binary form must reproduce the above copyright notice,
20 * this list of conditions and the following disclaimer in the documentation
21 * and/or other materials provided with the distribution.
22 * 3. Neither the name of STMicroelectronics nor the names of its contributors
23 * may be used to endorse or promote products derived from this software
24 * without specific prior written permission.
25 *
26 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
27 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
29 * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
30 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
31 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
32 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
33 * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
34 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
35 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36 *
37 ******************************************************************************
38 */
39 /* Includes ------------------------------------------------------------------*/
40 #include "stm32l0xx_hal.h"
41 extern void _Error_Handler(char *, int);
42 /* USER CODE BEGIN 0 */
43
44 /* USER CODE END 0 */
45 /**
46 * Initializes the Global MSP.
47 */
HAL_MspInit(void)48 void HAL_MspInit(void)
49 {
50 /* USER CODE BEGIN MspInit 0 */
51
52 /* USER CODE END MspInit 0 */
53
54 __HAL_RCC_SYSCFG_CLK_ENABLE();
55 __HAL_RCC_PWR_CLK_ENABLE();
56
57 /* System interrupt init*/
58 /* SVC_IRQn interrupt configuration */
59 HAL_NVIC_SetPriority(SVC_IRQn, 0, 0);
60 /* PendSV_IRQn interrupt configuration */
61 HAL_NVIC_SetPriority(PendSV_IRQn, 0, 0);
62 /* SysTick_IRQn interrupt configuration */
63 HAL_NVIC_SetPriority(SysTick_IRQn, 0, 0);
64
65 /* USER CODE BEGIN MspInit 1 */
66
67 /* USER CODE END MspInit 1 */
68 }
69
HAL_UART_MspInit(UART_HandleTypeDef * huart)70 void HAL_UART_MspInit(UART_HandleTypeDef* huart)
71 {
72
73 GPIO_InitTypeDef GPIO_InitStruct;
74 if(huart->Instance==USART2)
75 {
76 /* USER CODE BEGIN USART2_MspInit 0 */
77
78 /* USER CODE END USART2_MspInit 0 */
79 /* Peripheral clock enable */
80 __HAL_RCC_USART2_CLK_ENABLE();
81
82 /**USART2 GPIO Configuration
83 PA2 ------> USART2_TX
84 PA3 ------> USART2_RX
85 */
86 GPIO_InitStruct.Pin = USART_TX_Pin|USART_RX_Pin;
87 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
88 GPIO_InitStruct.Pull = GPIO_PULLUP;
89 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
90 GPIO_InitStruct.Alternate = GPIO_AF4_USART2;
91 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
92
93 /* USART2 interrupt Init */
94 HAL_NVIC_SetPriority(USART2_IRQn, 0, 0);
95 HAL_NVIC_EnableIRQ(USART2_IRQn);
96 /* USER CODE BEGIN USART2_MspInit 1 */
97
98 /* USER CODE END USART2_MspInit 1 */
99 }
100
101 }
102
HAL_UART_MspDeInit(UART_HandleTypeDef * huart)103 void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
104 {
105
106 if(huart->Instance==USART2)
107 {
108 /* USER CODE BEGIN USART2_MspDeInit 0 */
109
110 /* USER CODE END USART2_MspDeInit 0 */
111 /* Peripheral clock disable */
112 __HAL_RCC_USART2_CLK_DISABLE();
113
114 /**USART2 GPIO Configuration
115 PA2 ------> USART2_TX
116 PA3 ------> USART2_RX
117 */
118 HAL_GPIO_DeInit(GPIOA, USART_TX_Pin|USART_RX_Pin);
119
120 /* USART2 interrupt DeInit */
121 HAL_NVIC_DisableIRQ(USART2_IRQn);
122 /* USER CODE BEGIN USART2_MspDeInit 1 */
123
124 /* USER CODE END USART2_MspDeInit 1 */
125 }
126
127 }
128
129 /* USER CODE BEGIN 1 */
130
131 /* USER CODE END 1 */
132
133 /**
134 * @}
135 */
136
137 /**
138 * @}
139 */
140
141 /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/
142