Subversion Repositories EngineBay2

Rev

Rev 53 | Details | Compare with Previous | Last modification | View Log | RSS feed

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