tim.c 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. /**
  2. ******************************************************************************
  3. * File Name : TIM.c
  4. * Description : This file provides code for the configuration
  5. * of the TIM instances.
  6. ******************************************************************************
  7. * @attention
  8. *
  9. * <h2><center>&copy; Copyright (c) 2021 STMicroelectronics.
  10. * All rights reserved.</center></h2>
  11. *
  12. * This software component is licensed by ST under Ultimate Liberty license
  13. * SLA0044, the "License"; You may not use this file except in compliance with
  14. * the License. You may obtain a copy of the License at:
  15. * www.st.com/SLA0044
  16. *
  17. ******************************************************************************
  18. */
  19. /* Includes ------------------------------------------------------------------*/
  20. #include "tim.h"
  21. /* USER CODE BEGIN 0 */
  22. /* USER CODE END 0 */
  23. TIM_HandleTypeDef htim4;
  24. /* TIM4 init function */
  25. void MX_TIM4_Init(void)
  26. {
  27. TIM_SlaveConfigTypeDef sSlaveConfig = {0};
  28. TIM_MasterConfigTypeDef sMasterConfig = {0};
  29. htim4.Instance = TIM4;
  30. htim4.Init.Prescaler = 0;
  31. htim4.Init.CounterMode = TIM_COUNTERMODE_UP;
  32. htim4.Init.Period = 0;
  33. htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
  34. htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
  35. if (HAL_TIM_Base_Init(&htim4) != HAL_OK)
  36. {
  37. Error_Handler();
  38. }
  39. sSlaveConfig.SlaveMode = TIM_SLAVEMODE_EXTERNAL1;
  40. sSlaveConfig.InputTrigger = TIM_TS_TI1FP1;
  41. sSlaveConfig.TriggerPolarity = TIM_TRIGGERPOLARITY_RISING;
  42. sSlaveConfig.TriggerFilter = 0;
  43. if (HAL_TIM_SlaveConfigSynchro(&htim4, &sSlaveConfig) != HAL_OK)
  44. {
  45. Error_Handler();
  46. }
  47. sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
  48. sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
  49. if (HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig) != HAL_OK)
  50. {
  51. Error_Handler();
  52. }
  53. }
  54. void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle)
  55. {
  56. GPIO_InitTypeDef GPIO_InitStruct = {0};
  57. if(tim_baseHandle->Instance==TIM4)
  58. {
  59. /* USER CODE BEGIN TIM4_MspInit 0 */
  60. /* USER CODE END TIM4_MspInit 0 */
  61. /* TIM4 clock enable */
  62. __HAL_RCC_TIM4_CLK_ENABLE();
  63. __HAL_RCC_GPIOD_CLK_ENABLE();
  64. /**TIM4 GPIO Configuration
  65. PD12 ------> TIM4_CH1
  66. */
  67. GPIO_InitStruct.Pin = GPIO_PIN_12;
  68. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  69. GPIO_InitStruct.Pull = GPIO_NOPULL;
  70. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  71. GPIO_InitStruct.Alternate = GPIO_AF2_TIM4;
  72. HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
  73. /* USER CODE BEGIN TIM4_MspInit 1 */
  74. /* USER CODE END TIM4_MspInit 1 */
  75. }
  76. }
  77. void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle)
  78. {
  79. if(tim_baseHandle->Instance==TIM4)
  80. {
  81. /* USER CODE BEGIN TIM4_MspDeInit 0 */
  82. /* USER CODE END TIM4_MspDeInit 0 */
  83. /* Peripheral clock disable */
  84. __HAL_RCC_TIM4_CLK_DISABLE();
  85. /**TIM4 GPIO Configuration
  86. PD12 ------> TIM4_CH1
  87. */
  88. HAL_GPIO_DeInit(GPIOD, GPIO_PIN_12);
  89. /* USER CODE BEGIN TIM4_MspDeInit 1 */
  90. /* USER CODE END TIM4_MspDeInit 1 */
  91. }
  92. }
  93. /* USER CODE BEGIN 1 */
  94. /* USER CODE END 1 */
  95. /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/