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