Subversion Repositories canSerial

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 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) 2022 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
 
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
  * Initializes the Global MSP.
63
  */
64
void HAL_MspInit(void)
65
{
66
  /* USER CODE BEGIN MspInit 0 */
67
 
68
  /* USER CODE END MspInit 0 */
69
 
70
  __HAL_RCC_AFIO_CLK_ENABLE();
71
  __HAL_RCC_PWR_CLK_ENABLE();
72
 
73
  /* System interrupt init*/
74
 
75
  /** NOJTAG: JTAG-DP Disabled and SW-DP Enabled
76
  */
77
  __HAL_AFIO_REMAP_SWJ_NOJTAG();
78
 
79
  /* USER CODE BEGIN MspInit 1 */
80
 
81
  /* USER CODE END MspInit 1 */
82
}
83
 
84
/**
85
* @brief CAN MSP Initialization
86
* This function configures the hardware resources used in this example
87
* @param hcan: CAN handle pointer
88
* @retval None
89
*/
90
void HAL_CAN_MspInit(CAN_HandleTypeDef* hcan)
91
{
92
  GPIO_InitTypeDef GPIO_InitStruct = {0};
93
  if(hcan->Instance==CAN1)
94
  {
95
  /* USER CODE BEGIN CAN1_MspInit 0 */
96
 
97
  /* USER CODE END CAN1_MspInit 0 */
98
    /* Peripheral clock enable */
99
    __HAL_RCC_CAN1_CLK_ENABLE();
100
 
101
    __HAL_RCC_GPIOA_CLK_ENABLE();
102
    /**CAN GPIO Configuration
103
    PA11     ------> CAN_RX
104
    PA12     ------> CAN_TX
105
    */
106
    GPIO_InitStruct.Pin = GPIO_PIN_11;
107
    GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
108
    GPIO_InitStruct.Pull = GPIO_NOPULL;
109
    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
110
 
111
    GPIO_InitStruct.Pin = GPIO_PIN_12;
112
    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
113
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
114
    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
115
 
116
    /* CAN1 interrupt Init */
117
    HAL_NVIC_SetPriority(USB_HP_CAN1_TX_IRQn, 0, 0);
118
    HAL_NVIC_EnableIRQ(USB_HP_CAN1_TX_IRQn);
119
    HAL_NVIC_SetPriority(USB_LP_CAN1_RX0_IRQn, 0, 0);
120
    HAL_NVIC_EnableIRQ(USB_LP_CAN1_RX0_IRQn);
121
    HAL_NVIC_SetPriority(CAN1_RX1_IRQn, 0, 0);
122
    HAL_NVIC_EnableIRQ(CAN1_RX1_IRQn);
123
  /* USER CODE BEGIN CAN1_MspInit 1 */
124
 
125
  /* USER CODE END CAN1_MspInit 1 */
126
  }
127
 
128
}
129
 
130
/**
131
* @brief CAN MSP De-Initialization
132
* This function freeze the hardware resources used in this example
133
* @param hcan: CAN handle pointer
134
* @retval None
135
*/
136
void HAL_CAN_MspDeInit(CAN_HandleTypeDef* hcan)
137
{
138
  if(hcan->Instance==CAN1)
139
  {
140
  /* USER CODE BEGIN CAN1_MspDeInit 0 */
141
 
142
  /* USER CODE END CAN1_MspDeInit 0 */
143
    /* Peripheral clock disable */
144
    __HAL_RCC_CAN1_CLK_DISABLE();
145
 
146
    /**CAN GPIO Configuration
147
    PA11     ------> CAN_RX
148
    PA12     ------> CAN_TX
149
    */
150
    HAL_GPIO_DeInit(GPIOA, GPIO_PIN_11|GPIO_PIN_12);
151
 
152
    /* CAN1 interrupt DeInit */
153
    HAL_NVIC_DisableIRQ(USB_HP_CAN1_TX_IRQn);
154
    HAL_NVIC_DisableIRQ(USB_LP_CAN1_RX0_IRQn);
155
    HAL_NVIC_DisableIRQ(CAN1_RX1_IRQn);
156
  /* USER CODE BEGIN CAN1_MspDeInit 1 */
157
 
158
  /* USER CODE END CAN1_MspDeInit 1 */
159
  }
160
 
161
}
162
 
163
/**
164
* @brief UART MSP Initialization
165
* This function configures the hardware resources used in this example
166
* @param huart: UART handle pointer
167
* @retval None
168
*/
169
void HAL_UART_MspInit(UART_HandleTypeDef* huart)
170
{
171
  GPIO_InitTypeDef GPIO_InitStruct = {0};
172
  if(huart->Instance==USART1)
173
  {
174
  /* USER CODE BEGIN USART1_MspInit 0 */
175
 
176
  /* USER CODE END USART1_MspInit 0 */
177
    /* Peripheral clock enable */
178
    __HAL_RCC_USART1_CLK_ENABLE();
179
 
180
    __HAL_RCC_GPIOA_CLK_ENABLE();
181
    /**USART1 GPIO Configuration
182
    PA9     ------> USART1_TX
183
    PA10     ------> USART1_RX
184
    */
185
    GPIO_InitStruct.Pin = GPIO_PIN_9;
186
    GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
187
    GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH;
188
    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
189
 
190
    GPIO_InitStruct.Pin = GPIO_PIN_10;
191
    GPIO_InitStruct.Mode = GPIO_MODE_INPUT;
192
    GPIO_InitStruct.Pull = GPIO_NOPULL;
193
    HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
194
 
195
    /* USART1 interrupt Init */
196
    HAL_NVIC_SetPriority(USART1_IRQn, 0, 0);
197
    HAL_NVIC_EnableIRQ(USART1_IRQn);
198
  /* USER CODE BEGIN USART1_MspInit 1 */
199
 
200
  /* USER CODE END USART1_MspInit 1 */
201
  }
202
 
203
}
204
 
205
/**
206
* @brief UART MSP De-Initialization
207
* This function freeze the hardware resources used in this example
208
* @param huart: UART handle pointer
209
* @retval None
210
*/
211
void HAL_UART_MspDeInit(UART_HandleTypeDef* huart)
212
{
213
  if(huart->Instance==USART1)
214
  {
215
  /* USER CODE BEGIN USART1_MspDeInit 0 */
216
 
217
  /* USER CODE END USART1_MspDeInit 0 */
218
    /* Peripheral clock disable */
219
    __HAL_RCC_USART1_CLK_DISABLE();
220
 
221
    /**USART1 GPIO Configuration
222
    PA9     ------> USART1_TX
223
    PA10     ------> USART1_RX
224
    */
225
    HAL_GPIO_DeInit(GPIOA, GPIO_PIN_9|GPIO_PIN_10);
226
 
227
    /* USART1 interrupt DeInit */
228
    HAL_NVIC_DisableIRQ(USART1_IRQn);
229
  /* USER CODE BEGIN USART1_MspDeInit 1 */
230
 
231
  /* USER CODE END USART1_MspDeInit 1 */
232
  }
233
 
234
}
235
 
236
/* USER CODE BEGIN 1 */
237
 
238
/* USER CODE END 1 */