38 #include "stm32f4xx_hal.h" 50 GPIO_InitTypeDef GPIO_InitStruct;
60 GPIO_InitStruct.Pin = GPIO_PIN_13;
61 GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
62 GPIO_InitStruct.Pull = GPIO_PULLUP;
63 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
66 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
67 GPIO_InitStruct.Pull = GPIO_NOPULL;
68 GPIO_InitStruct.Speed = GPIO_SPEED_LOW;
72 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
73 GPIO_InitStruct.Pull = GPIO_NOPULL;
74 GPIO_InitStruct.Speed = GPIO_SPEED_LOW;
78 HAL_NVIC_SetPriority(EXTI15_10_IRQn, 0, 0);
79 HAL_NVIC_EnableIRQ(EXTI15_10_IRQn);
83 GPIO_InitStruct.Pin = GPIO_PIN_5;
84 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP;
85 GPIO_InitStruct.Pull = GPIO_NOPULL;
86 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
87 HAL_GPIO_WritePin(GPIOB, GPIO_PIN_5, GPIO_PIN_SET);
90 GPIO_InitStruct.Pin = GPIO_PIN_4;
91 GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
92 GPIO_InitStruct.Pull = GPIO_NOPULL;
93 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
96 GPIO_InitStruct.Pin = GPIO_PIN_7;
97 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD;
98 GPIO_InitStruct.Pull = GPIO_NOPULL;
99 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
100 HAL_GPIO_WritePin(GPIOC, GPIO_PIN_7, GPIO_PIN_SET);
104 HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4);
108 HAL_NVIC_SetPriority(SysTick_IRQn, 2, 0);
118 GPIO_InitTypeDef GPIO_InitStruct;
119 if(hadc->Instance==ADC1)
135 GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3;
136 GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
137 GPIO_InitStruct.Pull = GPIO_NOPULL;
138 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
140 GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_7;
141 GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
142 GPIO_InitStruct.Pull = GPIO_NOPULL;
143 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
145 GPIO_InitStruct.Pin = GPIO_PIN_0;
146 GPIO_InitStruct.Mode = GPIO_MODE_ANALOG;
147 GPIO_InitStruct.Pull = GPIO_NOPULL;
148 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
151 HAL_NVIC_SetPriority(ADC_IRQn, 0, 0);
152 HAL_NVIC_EnableIRQ(ADC_IRQn);
163 if(hadc->Instance==ADC1)
169 __ADC1_CLK_DISABLE();
179 HAL_GPIO_DeInit(GPIOC, GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3);
181 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_1|GPIO_PIN_7);
183 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_0);
186 HAL_NVIC_DisableIRQ(ADC_IRQn);
198 GPIO_InitTypeDef GPIO_InitStruct;
199 if(htim_base->Instance==TIM1)
208 __HAL_RCC_GPIOA_CLK_ENABLE();
209 __HAL_RCC_GPIOB_CLK_ENABLE();
220 GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10 ;
221 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
222 GPIO_InitStruct.Pull = GPIO_PULLDOWN;
223 GPIO_InitStruct.Speed = GPIO_SPEED_LOW;
224 GPIO_InitStruct.Alternate = GPIO_AF1_TIM1;
225 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
228 GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_13|GPIO_PIN_14 ;
229 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
230 GPIO_InitStruct.Pull = GPIO_PULLDOWN;
231 GPIO_InitStruct.Speed = GPIO_SPEED_LOW;
232 GPIO_InitStruct.Alternate = GPIO_AF1_TIM1;
233 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
242 else if(htim_base->Instance==TIM3)
264 else if(htim_base->Instance==TIM4)
272 HAL_NVIC_SetPriority(TIM4_IRQn, 1, 0);
273 HAL_NVIC_EnableIRQ(TIM4_IRQn);
289 GPIO_InitTypeDef GPIO_InitStruct;
294 __HAL_RCC_TIM1_CLK_ENABLE();
297 __HAL_RCC_GPIOA_CLK_ENABLE();
298 __HAL_RCC_GPIOB_CLK_ENABLE();
309 GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10 ;
310 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
311 GPIO_InitStruct.Pull = GPIO_PULLDOWN;
312 GPIO_InitStruct.Speed = GPIO_SPEED_LOW;
313 GPIO_InitStruct.Alternate = GPIO_AF1_TIM1;
314 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
317 GPIO_InitStruct.Pin = GPIO_PIN_1|GPIO_PIN_13|GPIO_PIN_14 ;
318 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
319 GPIO_InitStruct.Pull = GPIO_PULLDOWN;
320 GPIO_InitStruct.Speed = GPIO_SPEED_LOW;
321 GPIO_InitStruct.Alternate = GPIO_AF1_TIM1;
322 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
329 GPIO_InitTypeDef GPIO_InitStruct;
330 if(htimex_hallsensor->Instance==TIM2)
339 __HAL_RCC_GPIOA_CLK_ENABLE();
340 __HAL_RCC_GPIOB_CLK_ENABLE();
348 GPIO_InitStruct.Pin = GPIO_PIN_15;
349 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
350 GPIO_InitStruct.Pull = GPIO_NOPULL;
351 GPIO_InitStruct.Speed = GPIO_SPEED_LOW;
352 GPIO_InitStruct.Alternate = GPIO_AF1_TIM2;
353 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
355 GPIO_InitStruct.Pin = GPIO_PIN_10|GPIO_PIN_3;
356 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
357 GPIO_InitStruct.Pull = GPIO_NOPULL;
358 GPIO_InitStruct.Speed = GPIO_SPEED_LOW;
359 GPIO_InitStruct.Alternate = GPIO_AF1_TIM2;
360 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
363 HAL_NVIC_SetPriority(TIM2_IRQn, 1, 0);
364 HAL_NVIC_EnableIRQ(TIM2_IRQn);
377 if(htim_base->Instance==TIM1)
383 __TIM1_CLK_DISABLE();
394 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10 );
395 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_1 );
399 HAL_NVIC_DisableIRQ(TIM1_BRK_TIM9_IRQn);
405 else if(htim_base->Instance==TIM3)
411 __TIM3_CLK_DISABLE();
422 else if(htim_base->Instance==TIM4)
428 __TIM4_CLK_DISABLE();
431 HAL_NVIC_DisableIRQ(TIM4_IRQn);
443 if(htimex_hallsensor->Instance==TIM2)
449 __TIM2_CLK_DISABLE();
456 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_15);
458 HAL_GPIO_DeInit(GPIOB, GPIO_PIN_10|GPIO_PIN_3);
470 GPIO_InitTypeDef GPIO_InitStruct;
471 if(huart->Instance==USART2)
477 __USART2_CLK_ENABLE();
483 GPIO_InitStruct.Pin = GPIO_PIN_2|GPIO_PIN_3;
484 GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
485 GPIO_InitStruct.Pull = GPIO_NOPULL;
486 GPIO_InitStruct.Speed = GPIO_SPEED_LOW;
487 GPIO_InitStruct.Alternate = GPIO_AF7_USART2;
488 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
491 HAL_NVIC_SetPriority(USART2_IRQn, 3, 0);
492 HAL_NVIC_EnableIRQ(USART2_IRQn);
503 if(huart->Instance==USART2)
509 __USART2_CLK_DISABLE();
515 HAL_GPIO_DeInit(GPIOA, GPIO_PIN_2|GPIO_PIN_3);
518 HAL_NVIC_DisableIRQ(USART2_IRQn);
void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef *htim)
Initializes the TIM PWM MSP.
void HAL_ADC_MspDeInit(ADC_HandleTypeDef *hadc)
void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef *htim_base)
void HAL_UART_MspInit(UART_HandleTypeDef *huart)
void HAL_MspInit(void)
Initializes the Global MSP.
This file provides the interface between the MC-lib and STM Nucleo.
void HAL_ADC_MspInit(ADC_HandleTypeDef *hadc)
void HAL_UART_MspDeInit(UART_HandleTypeDef *huart)
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef *htim_base)
void HAL_TIMEx_HallSensor_MspInit(TIM_HandleTypeDef *htimex_hallsensor)
void HAL_TIMEx_HallSensor_MspDeInit(TIM_HandleTypeDef *htimex_hallsensor)