Subversion Repositories EngineBay2

Rev

Rev 40 | Rev 53 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
38 mjames 1
/* USER CODE BEGIN Header */
2
/**
3
  ******************************************************************************
4
  * File Name          : stm32f1xx_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) 2021 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
 
26
/* USER CODE END Includes */
27
extern DMA_HandleTypeDef hdma_adc1;
28
 
29
/* Private typedef -----------------------------------------------------------*/
30
/* USER CODE BEGIN TD */
31
 
32
/* USER CODE END TD */
33
 
34
/* Private define ------------------------------------------------------------*/
35
/* USER CODE BEGIN Define */
36
 
37
/* USER CODE END Define */
38
 
39
/* Private macro -------------------------------------------------------------*/
40
/* USER CODE BEGIN Macro */
41
 
42
/* USER CODE END Macro */
43
 
44
/* Private variables ---------------------------------------------------------*/
45
/* USER CODE BEGIN PV */
46
 
47
/* USER CODE END PV */
48
 
49
/* Private function prototypes -----------------------------------------------*/
50
/* USER CODE BEGIN PFP */
51
 
52
/* USER CODE END PFP */
53
 
54
/* External functions --------------------------------------------------------*/
55
/* USER CODE BEGIN ExternalFunctions */
56
 
57
/* USER CODE END ExternalFunctions */
58
 
59
/* USER CODE BEGIN 0 */
60
 
61
/* USER CODE END 0 */
62
/**
63
  * Initializes the Global MSP.
64
  */
65
void HAL_MspInit(void)
66
{
67
  /* USER CODE BEGIN MspInit 0 */
68
 
69
  /* USER CODE END MspInit 0 */
70
 
71
  __HAL_RCC_AFIO_CLK_ENABLE();
72
  __HAL_RCC_PWR_CLK_ENABLE();
73
 
74
  /* System interrupt init*/
75
 
76
  /** NOJTAG: JTAG-DP Disabled and SW-DP Enabled
77
  */
78
  __HAL_AFIO_REMAP_SWJ_NOJTAG();
79
 
80
  /* USER CODE BEGIN MspInit 1 */
81
 
82
  /* USER CODE END MspInit 1 */
83
}
84
 
85
/**
86
* @brief ADC MSP Initialization
87
* This function configures the hardware resources used in this example
88
* @param hadc: ADC handle pointer
89
* @retval None
90
*/
91
void HAL_ADC_MspInit(ADC_HandleTypeDef* hadc)
92
{
93
  GPIO_InitTypeDef GPIO_InitStruct = {0};
94
  if(hadc->Instance==ADC1)
95
  {
96
  /* USER CODE BEGIN ADC1_MspInit 0 */
97
 
98
  /* USER CODE END ADC1_MspInit 0 */
99
    /* Peripheral clock enable */
100
    __HAL_RCC_ADC1_CLK_ENABLE();
101
 
102
    __HAL_RCC_GPIOA_CLK_ENABLE();
103
    /**ADC1 GPIO Configuration
104
    PA0-WKUP     ------> ADC1_IN0
105
    PA1     ------> ADC1_IN1
106
    PA2     ------> ADC1_IN2
107
    PA3     ------> ADC1_IN3
108
    PA4     ------> ADC1_IN4
109
    */
40 mjames 110
    GPIO_InitStruct.Pin = V_Batt1_Pin|V_Batt2_Pin|V_Map_Pin|V_Oil_Pin
38 mjames 111
                          |V_Oil_Temp_Pin;
112
    GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
113
    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
114
 
115
    /* ADC1 DMA Init */
116
    /* ADC1 Init */
117
    hdma_adc1.Instance = DMA1_Channel1;
118
    hdma_adc1.Init.Direction = DMA_PERIPH_TO_MEMORY;
119
    hdma_adc1.Init.PeriphInc = DMA_PINC_DISABLE;
120
    hdma_adc1.Init.MemInc = DMA_MINC_ENABLE;
121
    hdma_adc1.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD;
122
    hdma_adc1.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD;
123
    hdma_adc1.Init.Mode = DMA_CIRCULAR;
124
    hdma_adc1.Init.Priority = DMA_PRIORITY_LOW;
125
    if (HAL_DMA_Init(&hdma_adc1) != HAL_OK)
126
    {
127
      Error_Handler();
128
    }
129
 
130
    __HAL_LINKDMA(hadc,DMA_Handle,hdma_adc1);
131
 
132
  /* USER CODE BEGIN ADC1_MspInit 1 */
133
 
134
  /* USER CODE END ADC1_MspInit 1 */
135
  }
136
 
137
}
138
 
139
/**
140
* @brief ADC MSP De-Initialization
141
* This function freeze the hardware resources used in this example
142
* @param hadc: ADC handle pointer
143
* @retval None
144
*/
145
void HAL_ADC_MspDeInit(ADC_HandleTypeDef* hadc)
146
{
147
  if(hadc->Instance==ADC1)
148
  {
149
  /* USER CODE BEGIN ADC1_MspDeInit 0 */
150
 
151
  /* USER CODE END ADC1_MspDeInit 0 */
152
    /* Peripheral clock disable */
153
    __HAL_RCC_ADC1_CLK_DISABLE();
154
 
155
    /**ADC1 GPIO Configuration
156
    PA0-WKUP     ------> ADC1_IN0
157
    PA1     ------> ADC1_IN1
158
    PA2     ------> ADC1_IN2
159
    PA3     ------> ADC1_IN3
160
    PA4     ------> ADC1_IN4
161
    */
40 mjames 162
    HAL_GPIO_DeInit(GPIOA, V_Batt1_Pin|V_Batt2_Pin|V_Map_Pin|V_Oil_Pin
38 mjames 163
                          |V_Oil_Temp_Pin);
164
 
165
    /* ADC1 DMA DeInit */
166
    HAL_DMA_DeInit(hadc->DMA_Handle);
167
  /* USER CODE BEGIN ADC1_MspDeInit 1 */
168
 
169
  /* USER CODE END ADC1_MspDeInit 1 */
170
  }
171
 
172
}
173
 
174
/**
175
* @brief CAN MSP Initialization
176
* This function configures the hardware resources used in this example
177
* @param hcan: CAN handle pointer
178
* @retval None
179
*/
180
void HAL_CAN_MspInit(CAN_HandleTypeDef* hcan)
181
{
182
  GPIO_InitTypeDef GPIO_InitStruct = {0};
183
  if(hcan->Instance==CAN1)
184
  {
185
  /* USER CODE BEGIN CAN1_MspInit 0 */
186
 
187
  /* USER CODE END CAN1_MspInit 0 */
188
    /* Peripheral clock enable */
189
    __HAL_RCC_CAN1_CLK_ENABLE();
190
 
191
    __HAL_RCC_GPIOA_CLK_ENABLE();
192
    /**CAN GPIO Configuration
193
    PA11     ------> CAN_RX
194
    PA12     ------> CAN_TX
195
    */
196
    GPIO_InitStruct.Pin = GPIO_PIN_11;
197
    GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
198
    GPIO_InitStruct.Pull = GPIO_NOPULL;
199
    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
200
 
201
    GPIO_InitStruct.Pin = GPIO_PIN_12;
202
    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
203
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
204
    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
205
 
206
  /* USER CODE BEGIN CAN1_MspInit 1 */
207
 
208
  /* USER CODE END CAN1_MspInit 1 */
209
  }
210
 
211
}
212
 
213
/**
214
* @brief CAN MSP De-Initialization
215
* This function freeze the hardware resources used in this example
216
* @param hcan: CAN handle pointer
217
* @retval None
218
*/
219
void HAL_CAN_MspDeInit(CAN_HandleTypeDef* hcan)
220
{
221
  if(hcan->Instance==CAN1)
222
  {
223
  /* USER CODE BEGIN CAN1_MspDeInit 0 */
224
 
225
  /* USER CODE END CAN1_MspDeInit 0 */
226
    /* Peripheral clock disable */
227
    __HAL_RCC_CAN1_CLK_DISABLE();
228
 
229
    /**CAN GPIO Configuration
230
    PA11     ------> CAN_RX
231
    PA12     ------> CAN_TX
232
    */
233
    HAL_GPIO_DeInit(GPIOA, GPIO_PIN_11|GPIO_PIN_12);
234
 
235
  /* USER CODE BEGIN CAN1_MspDeInit 1 */
236
 
237
  /* USER CODE END CAN1_MspDeInit 1 */
238
  }
239
 
240
}
241
 
242
/**
243
* @brief SPI MSP Initialization
244
* This function configures the hardware resources used in this example
245
* @param hspi: SPI handle pointer
246
* @retval None
247
*/
248
void HAL_SPI_MspInit(SPI_HandleTypeDef* hspi)
249
{
250
  GPIO_InitTypeDef GPIO_InitStruct = {0};
251
  if(hspi->Instance==SPI1)
252
  {
253
  /* USER CODE BEGIN SPI1_MspInit 0 */
254
 
255
  /* USER CODE END SPI1_MspInit 0 */
256
    /* Peripheral clock enable */
257
    __HAL_RCC_SPI1_CLK_ENABLE();
258
 
259
    __HAL_RCC_GPIOA_CLK_ENABLE();
260
    /**SPI1 GPIO Configuration
261
    PA5     ------> SPI1_SCK
262
    PA6     ------> SPI1_MISO
263
    PA7     ------> SPI1_MOSI
264
    */
265
    GPIO_InitStruct.Pin = SPI1_SCK_Pin|SPI1_MOSI_Pin;
266
    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
267
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
268
    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
269
 
270
    GPIO_InitStruct.Pin = SPI1_MISO_Pin;
271
    GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
272
    GPIO_InitStruct.Pull = GPIO_NOPULL;
273
    HAL_GPIO_Init(SPI1_MISO_GPIO_Port, &GPIO_InitStruct);
274
 
275
  /* USER CODE BEGIN SPI1_MspInit 1 */
276
 
277
  /* USER CODE END SPI1_MspInit 1 */
278
  }
279
 
280
}
281
 
282
/**
283
* @brief SPI MSP De-Initialization
284
* This function freeze the hardware resources used in this example
285
* @param hspi: SPI handle pointer
286
* @retval None
287
*/
288
void HAL_SPI_MspDeInit(SPI_HandleTypeDef* hspi)
289
{
290
  if(hspi->Instance==SPI1)
291
  {
292
  /* USER CODE BEGIN SPI1_MspDeInit 0 */
293
 
294
  /* USER CODE END SPI1_MspDeInit 0 */
295
    /* Peripheral clock disable */
296
    __HAL_RCC_SPI1_CLK_DISABLE();
297
 
298
    /**SPI1 GPIO Configuration
299
    PA5     ------> SPI1_SCK
300
    PA6     ------> SPI1_MISO
301
    PA7     ------> SPI1_MOSI
302
    */
303
    HAL_GPIO_DeInit(GPIOA, SPI1_SCK_Pin|SPI1_MISO_Pin|SPI1_MOSI_Pin);
304
 
305
  /* USER CODE BEGIN SPI1_MspDeInit 1 */
306
 
307
  /* USER CODE END SPI1_MspDeInit 1 */
308
  }
309
 
310
}
311
 
312
/**
313
* @brief TIM_Base MSP Initialization
314
* This function configures the hardware resources used in this example
315
* @param htim_base: TIM_Base handle pointer
316
* @retval None
317
*/
318
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* htim_base)
319
{
320
  GPIO_InitTypeDef GPIO_InitStruct = {0};
321
  if(htim_base->Instance==TIM2)
322
  {
323
  /* USER CODE BEGIN TIM2_MspInit 0 */
324
 
325
  /* USER CODE END TIM2_MspInit 0 */
326
    /* Peripheral clock enable */
327
    __HAL_RCC_TIM2_CLK_ENABLE();
328
 
329
    __HAL_RCC_GPIOA_CLK_ENABLE();
330
    /**TIM2 GPIO Configuration
331
    PA15     ------> TIM2_CH1
332
    */
333
    GPIO_InitStruct.Pin = CB_Pulse_Pin;
334
    GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
335
    GPIO_InitStruct.Pull = GPIO_NOPULL;
336
    HAL_GPIO_Init(CB_Pulse_GPIO_Port, &GPIO_InitStruct);
337
 
338
    __HAL_AFIO_REMAP_TIM2_PARTIAL_1();
339
 
340
    /* TIM2 interrupt Init */
341
    HAL_NVIC_SetPriority(TIM2_IRQn, 0, 0);
342
    HAL_NVIC_EnableIRQ(TIM2_IRQn);
343
  /* USER CODE BEGIN TIM2_MspInit 1 */
344
 
345
  /* USER CODE END TIM2_MspInit 1 */
346
  }
347
  else if(htim_base->Instance==TIM3)
348
  {
349
  /* USER CODE BEGIN TIM3_MspInit 0 */
350
 
351
  /* USER CODE END TIM3_MspInit 0 */
352
    /* Peripheral clock enable */
353
    __HAL_RCC_TIM3_CLK_ENABLE();
354
    /* TIM3 interrupt Init */
355
    HAL_NVIC_SetPriority(TIM3_IRQn, 0, 0);
356
    HAL_NVIC_EnableIRQ(TIM3_IRQn);
357
  /* USER CODE BEGIN TIM3_MspInit 1 */
358
 
359
  /* USER CODE END TIM3_MspInit 1 */
360
  }
361
  else if(htim_base->Instance==TIM4)
362
  {
363
  /* USER CODE BEGIN TIM4_MspInit 0 */
364
 
365
  /* USER CODE END TIM4_MspInit 0 */
366
    /* Peripheral clock enable */
367
    __HAL_RCC_TIM4_CLK_ENABLE();
368
    /* TIM4 interrupt Init */
369
    HAL_NVIC_SetPriority(TIM4_IRQn, 0, 0);
370
    HAL_NVIC_EnableIRQ(TIM4_IRQn);
371
  /* USER CODE BEGIN TIM4_MspInit 1 */
372
 
373
  /* USER CODE END TIM4_MspInit 1 */
374
  }
375
 
376
}
377
 
378
/**
379
* @brief TIM_Base MSP De-Initialization
380
* This function freeze the hardware resources used in this example
381
* @param htim_base: TIM_Base handle pointer
382
* @retval None
383
*/
384
void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* htim_base)
385
{
386
  if(htim_base->Instance==TIM2)
387
  {
388
  /* USER CODE BEGIN TIM2_MspDeInit 0 */
389
 
390
  /* USER CODE END TIM2_MspDeInit 0 */
391
    /* Peripheral clock disable */
392
    __HAL_RCC_TIM2_CLK_DISABLE();
393
 
394
    /**TIM2 GPIO Configuration
395
    PA15     ------> TIM2_CH1
396
    */
397
    HAL_GPIO_DeInit(CB_Pulse_GPIO_Port, CB_Pulse_Pin);
398
 
399
    /* TIM2 interrupt DeInit */
400
    HAL_NVIC_DisableIRQ(TIM2_IRQn);
401
  /* USER CODE BEGIN TIM2_MspDeInit 1 */
402
 
403
  /* USER CODE END TIM2_MspDeInit 1 */
404
  }
405
  else if(htim_base->Instance==TIM3)
406
  {
407
  /* USER CODE BEGIN TIM3_MspDeInit 0 */
408
 
409
  /* USER CODE END TIM3_MspDeInit 0 */
410
    /* Peripheral clock disable */
411
    __HAL_RCC_TIM3_CLK_DISABLE();
412
 
413
    /* TIM3 interrupt DeInit */
414
    HAL_NVIC_DisableIRQ(TIM3_IRQn);
415
  /* USER CODE BEGIN TIM3_MspDeInit 1 */
416
 
417
  /* USER CODE END TIM3_MspDeInit 1 */
418
  }
419
  else if(htim_base->Instance==TIM4)
420
  {
421
  /* USER CODE BEGIN TIM4_MspDeInit 0 */
422
 
423
  /* USER CODE END TIM4_MspDeInit 0 */
424
    /* Peripheral clock disable */
425
    __HAL_RCC_TIM4_CLK_DISABLE();
426
 
427
    /* TIM4 interrupt DeInit */
428
    HAL_NVIC_DisableIRQ(TIM4_IRQn);
429
  /* USER CODE BEGIN TIM4_MspDeInit 1 */
430
 
431
  /* USER CODE END TIM4_MspDeInit 1 */
432
  }
433
 
434
}
435
 
436
/**
437
* @brief UART MSP Initialization
438
* This function configures the hardware resources used in this example
439
* @param huart: UART handle pointer
440
* @retval None
441
*/
442
void HAL_UART_MspInit(UART_HandleTypeDef* huart)
443
{
444
  GPIO_InitTypeDef GPIO_InitStruct = {0};
445
  if(huart->Instance==USART1)
446
  {
447
  /* USER CODE BEGIN USART1_MspInit 0 */
448
 
449
  /* USER CODE END USART1_MspInit 0 */
450
    /* Peripheral clock enable */
451
    __HAL_RCC_USART1_CLK_ENABLE();
452
 
453
    __HAL_RCC_GPIOA_CLK_ENABLE();
454
    /**USART1 GPIO Configuration
455
    PA9     ------> USART1_TX
456
    PA10     ------> USART1_RX
457
    */
458
    GPIO_InitStruct.Pin = Uart1_TX_Pin;
459
    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
460
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
461
    HAL_GPIO_Init(Uart1_TX_GPIO_Port, &GPIO_InitStruct);
462
 
463
    GPIO_InitStruct.Pin = Uart1_RX_Pin;
464
    GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
465
    GPIO_InitStruct.Pull = GPIO_NOPULL;
466
    HAL_GPIO_Init(Uart1_RX_GPIO_Port, &GPIO_InitStruct);
467
 
468
    /* USART1 interrupt Init */
469
    HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);
470
    HAL_NVIC_EnableIRQ(USART1_IRQn);
471
  /* USER CODE BEGIN USART1_MspInit 1 */
472
 
473
  /* USER CODE END USART1_MspInit 1 */
474
  }
475
 
476
}
477
 
478
/**
479
* @brief UART MSP De-Initialization
480
* This function freeze the hardware resources used in this example
481
* @param huart: UART handle pointer
482
* @retval None
483
*/
484
void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
485
{
486
  if(huart->Instance==USART1)
487
  {
488
  /* USER CODE BEGIN USART1_MspDeInit 0 */
489
 
490
  /* USER CODE END USART1_MspDeInit 0 */
491
    /* Peripheral clock disable */
492
    __HAL_RCC_USART1_CLK_DISABLE();
493
 
494
    /**USART1 GPIO Configuration
495
    PA9     ------> USART1_TX
496
    PA10     ------> USART1_RX
497
    */
498
    HAL_GPIO_DeInit(GPIOA, Uart1_TX_Pin|Uart1_RX_Pin);
499
 
500
    /* USART1 interrupt DeInit */
501
    HAL_NVIC_DisableIRQ(USART1_IRQn);
502
  /* USER CODE BEGIN USART1_MspDeInit 1 */
503
 
504
  /* USER CODE END USART1_MspDeInit 1 */
505
  }
506
 
507
}
508
 
509
/* USER CODE BEGIN 1 */
510
 
511
/* USER CODE END 1 */