/** * @brief TIM MSP Initialization * This function configures the hardware resources used in this example: * - Peripheral's clock enable * - Peripheral's GPIO Configuration * @param htim: TIM handle pointer * @retval None */ void HAL_TIM_IC_MspInit(TIM_HandleTypeDef *htim) { GPIO_InitTypeDef GPIO_InitStruct; /*##-1- Enable peripherals and GPIO Clocks #################################*/ /* TIMx Peripheral clock enable */ TIMx_CLK_ENABLE(); /* Enable GPIO channels Clock */ TIMx_CHANNEL_GPIO_PORT(); /* Configure (TIMx_Channel) in Alternate function, push-pull and 100MHz speed */ GPIO_InitStruct.Pin = GPIO_PIN_CHANNEL2; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_PULLUP; GPIO_InitStruct.Speed = GPIO_SPEED_HIGH; GPIO_InitStruct.Alternate = GPIO_AF_TIMx; HAL_GPIO_Init(GPIO_PORT, &GPIO_InitStruct); /*##-2- Configure the NVIC for TIMx ########################################*/ /* Set the TIMx priority */ HAL_NVIC_SetPriority(TIMx_IRQn, 0, 1); /* Enable the TIMx global Interrupt */ HAL_NVIC_EnableIRQ(TIMx_IRQn); }
/** * @brief TIM MSP Initialization * This function configures the hardware resources used in this example: * - Peripheral's clock enable * - Peripheral's GPIO Configuration * @param htim: TIM handle pointer * @retval None */ void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef *htim) { GPIO_InitTypeDef GPIO_InitStruct; /*##-1- Enable peripherals and GPIO Clocks #################################*/ /* TIMx Peripheral clock enable */ TIMx_CLK_ENABLE(); /* Enable GPIO Channels Clock */ TIMx_CHANNEL_GPIO_PORT(); /* Configure PA.05 (TIM2_Channel1), PB.03 (TIM2_Channel2), PB.10 (TIM2_Channel3), PB.11 (TIM2_Channel4) in output, push-pull, alternate function mode */ /* Common configuration for all channels */ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_PULLUP; GPIO_InitStruct.Speed = GPIO_SPEED_HIGH; GPIO_InitStruct.Alternate = TIMx_GPIO_AF_CHANNEL1; GPIO_InitStruct.Pin = TIMx_GPIO_PIN_CHANNEL1; HAL_GPIO_Init(TIMx_GPIO_PORT_CHANNEL1, &GPIO_InitStruct); GPIO_InitStruct.Alternate = TIMx_GPIO_AF_CHANNEL2; GPIO_InitStruct.Pin = TIMx_GPIO_PIN_CHANNEL2; HAL_GPIO_Init(TIMx_GPIO_PORT_CHANNEL2, &GPIO_InitStruct); GPIO_InitStruct.Alternate = TIMx_GPIO_AF_CHANNEL3; GPIO_InitStruct.Pin = TIMx_GPIO_PIN_CHANNEL3; HAL_GPIO_Init(TIMx_GPIO_PORT_CHANNEL3, &GPIO_InitStruct); GPIO_InitStruct.Alternate = TIMx_GPIO_AF_CHANNEL4; GPIO_InitStruct.Pin = TIMx_GPIO_PIN_CHANNEL4; HAL_GPIO_Init(TIMx_GPIO_PORT_CHANNEL4, &GPIO_InitStruct); }
/** * @brief TIM MSP Initialization * This function configures the hardware resources used in this example: * - Peripheral's clock enable * - Peripheral's GPIO Configuration * @param htim: TIM handle pointer * @retval None */ void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef *htim) { GPIO_InitTypeDef GPIO_InitStruct; /*##-1- Enable peripherals and GPIO Clocks #################################*/ /* TIMx Peripheral clock enable */ TIMx_CLK_ENABLE(); /* Enable all GPIO Channels Clock requested */ TIMx_CHANNEL_GPIO_PORT(); /* Configure PA.0 (On Eval Board, pin 31 on CN1 for example) (TIM2_Channel1), PA.1 (On Eval Board, pin 33 on CN1 for example) (TIM2_Channel2), PA.2 (On Eval Board, pin 34 on CN1 for example) (TIM2_Channel3), PA.3 (On Eval Board, pin 58 on CN11 for example) (TIM2_Channel4) in output, push-pull, alternate function mode */ /* Common configuration for all channels */ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_PULLUP; GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; GPIO_InitStruct.Pin = TIMx_GPIO_PIN_CHANNEL1; HAL_GPIO_Init(TIMx_GPIO_PORT_CHANNEL1, &GPIO_InitStruct); GPIO_InitStruct.Pin = TIMx_GPIO_PIN_CHANNEL2; HAL_GPIO_Init(TIMx_GPIO_PORT_CHANNEL2, &GPIO_InitStruct); GPIO_InitStruct.Pin = TIMx_GPIO_PIN_CHANNEL3; HAL_GPIO_Init(TIMx_GPIO_PORT_CHANNEL3, &GPIO_InitStruct); GPIO_InitStruct.Pin = TIMx_GPIO_PIN_CHANNEL4; HAL_GPIO_Init(TIMx_GPIO_PORT_CHANNEL4, &GPIO_InitStruct); }
/** * @brief TIM MSP Initialization * This function configures the hardware resources used in this example: * - Peripheral's clock enable * - Peripheral's GPIO Configuration * @param htim: TIM handle pointer * @retval None */ void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef *htim) { GPIO_InitTypeDef GPIO_InitStruct; /*##-1- Enable peripherals and GPIO Clocks #################################*/ /* TIMx Peripheral clock enable */ TIMx_CLK_ENABLE(); /* Enable all GPIO Channels Clock requested */ TIMx_CHANNEL_GPIO_PORT(); /* Configure PC.06 (pin 9 (PC6) in CN10 connector) (TIM8_Channel1), PC.07 (pin 12 (RX) in CN7 connector) (TIM8_Channel2), PC.08 (pin 20 (D0) in CN6 connector) (TIM8_Channel3), PC.09 (pin 19 (D1) in CN6 connector) (TIM8_Channel4) in output, push-pull, alternate function mode */ /* Common configuration for all channels */ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_PULLUP; GPIO_InitStruct.Speed = GPIO_SPEED_HIGH; GPIO_InitStruct.Alternate = TIMx_GPIO_AF_CHANNEL1; GPIO_InitStruct.Pin = TIMx_GPIO_PIN_CHANNEL1; HAL_GPIO_Init(TIMx_GPIO_PORT_CHANNEL1, &GPIO_InitStruct); GPIO_InitStruct.Alternate = TIMx_GPIO_AF_CHANNEL2; GPIO_InitStruct.Pin = TIMx_GPIO_PIN_CHANNEL2; HAL_GPIO_Init(TIMx_GPIO_PORT_CHANNEL2, &GPIO_InitStruct); GPIO_InitStruct.Alternate = TIMx_GPIO_AF_CHANNEL3; GPIO_InitStruct.Pin = TIMx_GPIO_PIN_CHANNEL3; HAL_GPIO_Init(TIMx_GPIO_PORT_CHANNEL3, &GPIO_InitStruct); GPIO_InitStruct.Alternate = TIMx_GPIO_AF_CHANNEL4; GPIO_InitStruct.Pin = TIMx_GPIO_PIN_CHANNEL4; HAL_GPIO_Init(TIMx_GPIO_PORT_CHANNEL4, &GPIO_InitStruct); }
/** * @brief TIM MSP Initialization * This function configures the hardware resources used in this example: * - Peripheral's clock enable * - Peripheral's GPIO Configuration * @param htim: TIM handle pointer * @retval None */ void HAL_TIM_OnePulse_MspInit(TIM_HandleTypeDef *htim) { GPIO_InitTypeDef GPIO_InitStruct; /* Enable the TIMx clock */ TIMx_CLK_ENABLE(); /* Enable GPIO Port Channel1 & channel2 Clock */ TIMx_CHANNEL_GPIO_PORT(); /* Configure PA.00 and PA.01 */ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Speed = GPIO_SPEED_HIGH; GPIO_InitStruct.Alternate = GPIO_AF_TIMx; GPIO_InitStruct.Pull = GPIO_PUPD_CHANNEL1; GPIO_InitStruct.Pin = GPIO_PIN_CHANNEL1; HAL_GPIO_Init(TIMx_GPIO_PORT, &GPIO_InitStruct); GPIO_InitStruct.Pull = GPIO_PUPD_CHANNEL2; GPIO_InitStruct.Pin = GPIO_PIN_CHANNEL2; HAL_GPIO_Init(TIMx_GPIO_PORT, &GPIO_InitStruct); }
/** * @brief TIM MSP Initialization * This function configures the hardware resources used in this example: * - Peripheral's clock enable * - Peripheral's GPIO Configuration * @param htim: TIM handle pointer * @retval None */ void HAL_TIM_IC_MspInit(TIM_HandleTypeDef *htim) { GPIO_InitTypeDef GPIO_InitStruct; if( htim->Instance == TIMx ){ TIMx_CLK_ENABLE(); TIMx_CHANNEL_GPIO_PORT(); GPIO_InitStruct.Pin = TIMx_GPIO_PIN_CHANNEL1; GPIO_InitStruct.Mode = GPIO_MODE_AF_INPUT ; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_MEDIUM; HAL_GPIO_Init(TIMx_GPIO_PORT_CHANNEL1, &GPIO_InitStruct); GPIO_InitStruct.Pin = TIMx_GPIO_PIN_CHANNEL2; GPIO_InitStruct.Mode = GPIO_MODE_AF_INPUT ; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_MEDIUM; HAL_GPIO_Init(TIMx_GPIO_PORT_CHANNEL2, &GPIO_InitStruct); HAL_NVIC_SetPriority(TIMx_IRQn, 0, 1); HAL_NVIC_EnableIRQ(TIMx_IRQn); }else if( htim->Instance == TIMx3 ){ TIMx3_CLK_ENABLE(); TIMx3_CHANNEL_GPIO_PORT_CLK(); /* Configure (TIMx_Channel)*/ GPIO_InitStruct.Pin = TIMx3_GPIO_PIN_CHANNEL1; GPIO_InitStruct.Mode = GPIO_MODE_AF_INPUT ; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_MEDIUM; HAL_GPIO_Init(TIMx3_GPIO_PORT_CHANNEL1, &GPIO_InitStruct); GPIO_InitStruct.Pin = TIMx3_GPIO_PIN_CHANNEL4; GPIO_InitStruct.Mode = GPIO_MODE_AF_INPUT ; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_MEDIUM; HAL_GPIO_Init(TIMx3_GPIO_PORT_CHANNEL4, &GPIO_InitStruct); HAL_NVIC_SetPriority(TIMx3_IRQn, 0, 1); HAL_NVIC_EnableIRQ(TIMx3_IRQn); SONAR_TRIG_PORT_CLK(); GPIO_InitStruct.Pin = SONAR_TRIG_PIN; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; GPIO_InitStruct.Pull = GPIO_NOPULL; GPIO_InitStruct.Speed = GPIO_SPEED_LOW; HAL_GPIO_Init(SONAR_TRIG_PORT, &GPIO_InitStruct); HAL_GPIO_WritePin(SONAR_TRIG_PORT, SONAR_TRIG_PIN, GPIO_PIN_RESET); } }
/** * @brief TIM MSP Initialization * This function configures the hardware resources used in this example: * - Peripheral's clock enable * - Peripheral's GPIO Configuration * @param htim: TIM handle pointer * @retval None */ void HAL_TIM_OC_MspInit(TIM_HandleTypeDef *htim) { GPIO_InitTypeDef GPIO_InitStruct; /*##-1- Enable peripherals and GPIO Clocks #################################*/ /* TIMx Peripheral clock enable */ TIMx_CLK_ENABLE(); /* Enable GPIO Channels Clock */ TIMx_CHANNEL_GPIO_PORT(); /*##-2- Configure I/Os #####################################################*/ /* Configure PC.6 (TIM3_Channel1), PC.7 (TIM3_Channel1), PC.8 (TIM3_Channel1), PC.9 (TIM3_Channel1) in output, push-pull, alternate function mode*/ /* Common configuration for all channels */ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_PULLUP; GPIO_InitStruct.Speed = GPIO_SPEED_HIGH; GPIO_InitStruct.Alternate = GPIO_AF2_TIM3; /* Channel 1 configuration */ GPIO_InitStruct.Pin = GPIO_PIN_CHANNEL1; HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); /* Channel 2 configuration */ GPIO_InitStruct.Pin = GPIO_PIN_CHANNEL2; HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); /* Channel 3 configuration */ GPIO_InitStruct.Pin = GPIO_PIN_CHANNEL3; HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); /* Channel 4 configuration */ GPIO_InitStruct.Pin = GPIO_PIN_CHANNEL4; HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); /* Enable the TIM1 global Interrupt & set priority */ HAL_NVIC_SetPriority(TIM3_IRQn, 0, 1); HAL_NVIC_EnableIRQ(TIM3_IRQn); }
/** * @brief TIM MSP Initialization * This function configures the hardware resources used in this example: * - Peripheral's clock enable * - Peripheral's GPIO Configuration * @param htim: TIM handle pointer * @retval None */ void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef *htim) { GPIO_InitTypeDef GPIO_InitStruct; /*##-1- Enable peripherals and GPIO Clocks #################################*/ /* TIMx Peripheral clock enable */ TIMx_CLK_ENABLE(); /* Enable GPIO Channels Clock */ TIMx_CHANNEL_GPIO_PORT(); /*##-2- Configure I/Os #####################################################*/ /* Configure PC.6 (TIM3_Channel1), PC.7 (TIM3_Channel1), PC.8 (TIM3_Channel1), PC.9 (TIM3_Channel1) in output, push-pull, alternate function mode */ /* Common configuration for all channels */ GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; GPIO_InitStruct.Pull = GPIO_PULLUP; GPIO_InitStruct.Speed = GPIO_SPEED_HIGH; GPIO_InitStruct.Alternate = GPIO_AF2_TIM3; GPIO_InitStruct.Pin = GPIO_PIN_CHANNEL1; HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); }