Subversion Repositories ScreenTimer

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 mjames 1
/* USER CODE BEGIN Header */
2
/**
3
  ******************************************************************************
4
  * @file         stm32f0xx_hal_msp.c
5
  * @brief        This file provides code for the MSP Initialization
6
  *               and de-Initialization codes.
7
  ******************************************************************************
8
  * @attention
9
  *
10
  * Copyright (c) 2022 STMicroelectronics.
11
  * All rights reserved.
12
  *
13
  * This software is licensed under terms that can be found in the LICENSE file
14
  * in the root directory of this software component.
15
  * If no LICENSE file comes with this software, it is provided AS-IS.
16
  *
17
  ******************************************************************************
18
  */
19
/* USER CODE END Header */
20
 
21
/* Includes ------------------------------------------------------------------*/
22
#include "main.h"
23
/* USER CODE BEGIN Includes */
24
 
25
/* USER CODE END Includes */
26
extern DMA_HandleTypeDef hdma_adc;
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
void HAL_TIM_MspPostInit(TIM_HandleTypeDef *htim);
63
                                        /**
64
  * Initializes the Global MSP.
65
  */
66
void HAL_MspInit(void)
67
{
68
  /* USER CODE BEGIN MspInit 0 */
69
 
70
  /* USER CODE END MspInit 0 */
71
 
72
  __HAL_RCC_SYSCFG_CLK_ENABLE();
73
  __HAL_RCC_PWR_CLK_ENABLE();
74
 
75
  /* System interrupt init*/
76
 
77
  /* USER CODE BEGIN MspInit 1 */
78
 
79
  /* USER CODE END MspInit 1 */
80
}
81
 
82
/**
83
* @brief ADC MSP Initialization
84
* This function configures the hardware resources used in this example
85
* @param hadc: ADC handle pointer
86
* @retval None
87
*/
88
void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
89
{
90
  GPIO_InitTypeDef GPIO_InitStruct = {0};
91
  if(hadc->Instance==ADC1)
92
  {
93
  /* USER CODE BEGIN ADC1_MspInit 0 */
94
 
95
  /* USER CODE END ADC1_MspInit 0 */
96
    /* Peripheral clock enable */
97
    __HAL_RCC_ADC1_CLK_ENABLE();
98
 
99
    __HAL_RCC_GPIOA_CLK_ENABLE();
100
    /**ADC GPIO Configuration
101
    PA0     ------> ADC_IN0
102
    PA1     ------> ADC_IN1
103
    */
104
    GPIO_InitStruct.Pin = VBatt_Pin|Dashboard_Pin;
105
    GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
106
    GPIO_InitStruct.Pull = GPIO_NOPULL;
107
    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
108
 
109
    /* ADC1 DMA Init */
110
    /* ADC Init */
111
    hdma_adc.Instance = DMA1_Channel1;
112
    hdma_adc.Init.Direction = DMA_PERIPH_TO_MEMORY;
113
    hdma_adc.Init.PeriphInc = DMA_PINC_DISABLE;
114
    hdma_adc.Init.MemInc = DMA_MINC_ENABLE;
115
    hdma_adc.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD;
116
    hdma_adc.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD;
117
    hdma_adc.Init.Mode = DMA_CIRCULAR;
118
    hdma_adc.Init.Priority = DMA_PRIORITY_LOW;
119
    if (HAL_DMA_Init(&hdma_adc) != HAL_OK)
120
    {
121
      Error_Handler();
122
    }
123
 
124
    __HAL_LINKDMA(hadc,DMA_Handle,hdma_adc);
125
 
126
  /* USER CODE BEGIN ADC1_MspInit 1 */
127
 
128
  /* USER CODE END ADC1_MspInit 1 */
129
  }
130
 
131
}
132
 
133
/**
134
* @brief ADC MSP De-Initialization
135
* This function freeze the hardware resources used in this example
136
* @param hadc: ADC handle pointer
137
* @retval None
138
*/
139
void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
140
{
141
  if(hadc->Instance==ADC1)
142
  {
143
  /* USER CODE BEGIN ADC1_MspDeInit 0 */
144
 
145
  /* USER CODE END ADC1_MspDeInit 0 */
146
    /* Peripheral clock disable */
147
    __HAL_RCC_ADC1_CLK_DISABLE();
148
 
149
    /**ADC GPIO Configuration
150
    PA0     ------> ADC_IN0
151
    PA1     ------> ADC_IN1
152
    */
153
    HAL_GPIO_DeInit(GPIOA, VBatt_Pin|Dashboard_Pin);
154
 
155
    /* ADC1 DMA DeInit */
156
    HAL_DMA_DeInit(hadc->DMA_Handle);
157
  /* USER CODE BEGIN ADC1_MspDeInit 1 */
158
 
159
  /* USER CODE END ADC1_MspDeInit 1 */
160
  }
161
 
162
}
163
 
164
/**
165
* @brief TIM_Base MSP Initialization
166
* This function configures the hardware resources used in this example
167
* @param htim_base: TIM_Base handle pointer
168
* @retval None
169
*/
170
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
171
{
172
  if(htim_base->Instance==TIM3)
173
  {
174
  /* USER CODE BEGIN TIM3_MspInit 0 */
175
 
176
  /* USER CODE END TIM3_MspInit 0 */
177
    /* Peripheral clock enable */
178
    __HAL_RCC_TIM3_CLK_ENABLE();
179
  /* USER CODE BEGIN TIM3_MspInit 1 */
180
 
181
  /* USER CODE END TIM3_MspInit 1 */
182
  }
183
  else if(htim_base->Instance==TIM14)
184
  {
185
  /* USER CODE BEGIN TIM14_MspInit 0 */
186
 
187
  /* USER CODE END TIM14_MspInit 0 */
188
    /* Peripheral clock enable */
189
    __HAL_RCC_TIM14_CLK_ENABLE();
190
  /* USER CODE BEGIN TIM14_MspInit 1 */
191
 
192
  /* USER CODE END TIM14_MspInit 1 */
193
  }
194
 
195
}
196
 
197
void HAL_TIM_MspPostInit(TIM_HandleTypeDef* htim)
198
{
199
  GPIO_InitTypeDef GPIO_InitStruct = {0};
200
  if(htim->Instance==TIM3)
201
  {
202
  /* USER CODE BEGIN TIM3_MspPostInit 0 */
203
 
204
  /* USER CODE END TIM3_MspPostInit 0 */
205
    __HAL_RCC_GPIOA_CLK_ENABLE();
206
    __HAL_RCC_GPIOB_CLK_ENABLE();
207
    /**TIM3 GPIO Configuration
208
    PA7     ------> TIM3_CH2
209
    PB1     ------> TIM3_CH4
210
    */
211
    GPIO_InitStruct.Pin = LEDRight_Pin;
212
    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
213
    GPIO_InitStruct.Pull = GPIO_NOPULL;
214
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
215
    GPIO_InitStruct.Alternate = GPIO_AF1_TIM3;
216
    HAL_GPIO_Init(LEDRight_GPIO_Port, &GPIO_InitStruct);
217
 
218
    GPIO_InitStruct.Pin = LEDLeft_Pin;
219
    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
220
    GPIO_InitStruct.Pull = GPIO_NOPULL;
221
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
222
    GPIO_InitStruct.Alternate = GPIO_AF1_TIM3;
223
    HAL_GPIO_Init(LEDLeft_GPIO_Port, &GPIO_InitStruct);
224
 
225
  /* USER CODE BEGIN TIM3_MspPostInit 1 */
226
 
227
  /* USER CODE END TIM3_MspPostInit 1 */
228
  }
229
  else if(htim->Instance==TIM14)
230
  {
231
  /* USER CODE BEGIN TIM14_MspPostInit 0 */
232
 
233
  /* USER CODE END TIM14_MspPostInit 0 */
234
 
235
    __HAL_RCC_GPIOA_CLK_ENABLE();
236
    /**TIM14 GPIO Configuration
237
    PA4     ------> TIM14_CH1
238
    */
239
    GPIO_InitStruct.Pin = LEDEval_Pin;
240
    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
241
    GPIO_InitStruct.Pull = GPIO_NOPULL;
242
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
243
    GPIO_InitStruct.Alternate = GPIO_AF4_TIM14;
244
    HAL_GPIO_Init(LEDEval_GPIO_Port, &GPIO_InitStruct);
245
 
246
  /* USER CODE BEGIN TIM14_MspPostInit 1 */
247
 
248
  /* USER CODE END TIM14_MspPostInit 1 */
249
  }
250
 
251
}
252
/**
253
* @brief TIM_Base MSP De-Initialization
254
* This function freeze the hardware resources used in this example
255
* @param htim_base: TIM_Base handle pointer
256
* @retval None
257
*/
258
void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
259
{
260
  if(htim_base->Instance==TIM3)
261
  {
262
  /* USER CODE BEGIN TIM3_MspDeInit 0 */
263
 
264
  /* USER CODE END TIM3_MspDeInit 0 */
265
    /* Peripheral clock disable */
266
    __HAL_RCC_TIM3_CLK_DISABLE();
267
  /* USER CODE BEGIN TIM3_MspDeInit 1 */
268
 
269
  /* USER CODE END TIM3_MspDeInit 1 */
270
  }
271
  else if(htim_base->Instance==TIM14)
272
  {
273
  /* USER CODE BEGIN TIM14_MspDeInit 0 */
274
 
275
  /* USER CODE END TIM14_MspDeInit 0 */
276
    /* Peripheral clock disable */
277
    __HAL_RCC_TIM14_CLK_DISABLE();
278
  /* USER CODE BEGIN TIM14_MspDeInit 1 */
279
 
280
  /* USER CODE END TIM14_MspDeInit 1 */
281
  }
282
 
283
}
284
 
285
/**
286
* @brief WWDG MSP Initialization
287
* This function configures the hardware resources used in this example
288
* @param hwwdg: WWDG handle pointer
289
* @retval None
290
*/
291
void HAL_WWDG_MspInit(WWDG_HandleTypeDef* hwwdg)
292
{
293
  if(hwwdg->Instance==WWDG)
294
  {
295
  /* USER CODE BEGIN WWDG_MspInit 0 */
296
 
297
  /* USER CODE END WWDG_MspInit 0 */
298
    /* Peripheral clock enable */
299
    __HAL_RCC_WWDG_CLK_ENABLE();
300
  /* USER CODE BEGIN WWDG_MspInit 1 */
301
 
302
  /* USER CODE END WWDG_MspInit 1 */
303
  }
304
 
305
}
306
 
307
/* USER CODE BEGIN 1 */
308
 
309
/* USER CODE END 1 */