You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

544 lines
14 KiB

3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
  1. /* USER CODE BEGIN Header */
  2. /**
  3. ******************************************************************************
  4. * @file tim.c
  5. * @brief This file provides code for the configuration
  6. * of the TIM instances.
  7. ******************************************************************************
  8. * @attention
  9. *
  10. * Copyright (c) 2023 STMicroelectronics.
  11. * All rights reserved.
  12. *
  13. * This software is licensed under terms that can be found in the LICENSE file
  14. * in the root directory of this software component.
  15. * If no LICENSE file comes with this software, it is provided AS-IS.
  16. *
  17. ******************************************************************************
  18. */
  19. /* USER CODE END Header */
  20. /* Includes ------------------------------------------------------------------*/
  21. #include "tim.h"
  22. /* USER CODE BEGIN 0 */
  23. /* USER CODE END 0 */
  24. TIM_HandleTypeDef htim2;
  25. TIM_HandleTypeDef htim3;
  26. TIM_HandleTypeDef htim4;
  27. TIM_HandleTypeDef htim6;
  28. TIM_HandleTypeDef htim8;
  29. /* TIM2 init function */
  30. void MX_TIM2_Init(void)
  31. {
  32. /* USER CODE BEGIN TIM2_Init 0 */
  33. /* USER CODE END TIM2_Init 0 */
  34. TIM_MasterConfigTypeDef sMasterConfig = {0};
  35. TIM_OC_InitTypeDef sConfigOC = {0};
  36. /* USER CODE BEGIN TIM2_Init 1 */
  37. /* USER CODE END TIM2_Init 1 */
  38. htim2.Instance = TIM2;
  39. htim2.Init.Prescaler = 84-1;
  40. htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
  41. htim2.Init.Period = 1000;
  42. htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
  43. htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
  44. if (HAL_TIM_PWM_Init(&htim2) != HAL_OK)
  45. {
  46. Error_Handler();
  47. }
  48. sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
  49. sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
  50. if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK)
  51. {
  52. Error_Handler();
  53. }
  54. sConfigOC.OCMode = TIM_OCMODE_PWM1;
  55. sConfigOC.Pulse = 0;
  56. sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
  57. sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
  58. if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
  59. {
  60. Error_Handler();
  61. }
  62. if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_3) != HAL_OK)
  63. {
  64. Error_Handler();
  65. }
  66. if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_4) != HAL_OK)
  67. {
  68. Error_Handler();
  69. }
  70. /* USER CODE BEGIN TIM2_Init 2 */
  71. /* USER CODE END TIM2_Init 2 */
  72. HAL_TIM_MspPostInit(&htim2);
  73. }
  74. /* TIM3 init function */
  75. void MX_TIM3_Init(void)
  76. {
  77. /* USER CODE BEGIN TIM3_Init 0 */
  78. /* USER CODE END TIM3_Init 0 */
  79. TIM_MasterConfigTypeDef sMasterConfig = {0};
  80. TIM_OC_InitTypeDef sConfigOC = {0};
  81. /* USER CODE BEGIN TIM3_Init 1 */
  82. /* USER CODE END TIM3_Init 1 */
  83. htim3.Instance = TIM3;
  84. htim3.Init.Prescaler = 84-1;
  85. htim3.Init.CounterMode = TIM_COUNTERMODE_UP;
  86. htim3.Init.Period = 1000;
  87. htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
  88. htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
  89. if (HAL_TIM_PWM_Init(&htim3) != HAL_OK)
  90. {
  91. Error_Handler();
  92. }
  93. sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
  94. sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
  95. if (HAL_TIMEx_MasterConfigSynchronization(&htim3, &sMasterConfig) != HAL_OK)
  96. {
  97. Error_Handler();
  98. }
  99. sConfigOC.OCMode = TIM_OCMODE_PWM1;
  100. sConfigOC.Pulse = 0;
  101. sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
  102. sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
  103. if (HAL_TIM_PWM_ConfigChannel(&htim3, &sConfigOC, TIM_CHANNEL_1) != HAL_OK)
  104. {
  105. Error_Handler();
  106. }
  107. /* USER CODE BEGIN TIM3_Init 2 */
  108. /* USER CODE END TIM3_Init 2 */
  109. HAL_TIM_MspPostInit(&htim3);
  110. }
  111. /* TIM4 init function */
  112. void MX_TIM4_Init(void)
  113. {
  114. /* USER CODE BEGIN TIM4_Init 0 */
  115. /* USER CODE END TIM4_Init 0 */
  116. TIM_Encoder_InitTypeDef sConfig = {0};
  117. TIM_MasterConfigTypeDef sMasterConfig = {0};
  118. TIM_OC_InitTypeDef sConfigOC = {0};
  119. /* USER CODE BEGIN TIM4_Init 1 */
  120. /* USER CODE END TIM4_Init 1 */
  121. htim4.Instance = TIM4;
  122. htim4.Init.Prescaler = 84-1;
  123. htim4.Init.CounterMode = TIM_COUNTERMODE_UP;
  124. htim4.Init.Period = 1000;
  125. htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
  126. htim4.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
  127. if (HAL_TIM_PWM_Init(&htim4) != HAL_OK)
  128. {
  129. Error_Handler();
  130. }
  131. sConfig.EncoderMode = TIM_ENCODERMODE_TI12;
  132. sConfig.IC1Polarity = TIM_ICPOLARITY_RISING;
  133. sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI;
  134. sConfig.IC1Prescaler = TIM_ICPSC_DIV1;
  135. sConfig.IC1Filter = 0;
  136. sConfig.IC2Polarity = TIM_ICPOLARITY_RISING;
  137. sConfig.IC2Selection = TIM_ICSELECTION_DIRECTTI;
  138. sConfig.IC2Prescaler = TIM_ICPSC_DIV1;
  139. sConfig.IC2Filter = 0;
  140. if (HAL_TIM_Encoder_Init(&htim4, &sConfig) != HAL_OK)
  141. {
  142. Error_Handler();
  143. }
  144. sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
  145. sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
  146. if (HAL_TIMEx_MasterConfigSynchronization(&htim4, &sMasterConfig) != HAL_OK)
  147. {
  148. Error_Handler();
  149. }
  150. sConfigOC.OCMode = TIM_OCMODE_PWM1;
  151. sConfigOC.Pulse = 0;
  152. sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
  153. sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
  154. if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_3) != HAL_OK)
  155. {
  156. Error_Handler();
  157. }
  158. if (HAL_TIM_PWM_ConfigChannel(&htim4, &sConfigOC, TIM_CHANNEL_4) != HAL_OK)
  159. {
  160. Error_Handler();
  161. }
  162. /* USER CODE BEGIN TIM4_Init 2 */
  163. /* USER CODE END TIM4_Init 2 */
  164. HAL_TIM_MspPostInit(&htim4);
  165. }
  166. /* TIM6 init function */
  167. void MX_TIM6_Init(void)
  168. {
  169. /* USER CODE BEGIN TIM6_Init 0 */
  170. /* USER CODE END TIM6_Init 0 */
  171. TIM_MasterConfigTypeDef sMasterConfig = {0};
  172. /* USER CODE BEGIN TIM6_Init 1 */
  173. /* USER CODE END TIM6_Init 1 */
  174. htim6.Instance = TIM6;
  175. htim6.Init.Prescaler = 84-1;
  176. htim6.Init.CounterMode = TIM_COUNTERMODE_UP;
  177. htim6.Init.Period = 1000-1;
  178. htim6.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE;
  179. if (HAL_TIM_Base_Init(&htim6) != HAL_OK)
  180. {
  181. Error_Handler();
  182. }
  183. sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
  184. sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
  185. if (HAL_TIMEx_MasterConfigSynchronization(&htim6, &sMasterConfig) != HAL_OK)
  186. {
  187. Error_Handler();
  188. }
  189. /* USER CODE BEGIN TIM6_Init 2 */
  190. /* USER CODE END TIM6_Init 2 */
  191. }
  192. /* TIM8 init function */
  193. void MX_TIM8_Init(void)
  194. {
  195. /* USER CODE BEGIN TIM8_Init 0 */
  196. /* USER CODE END TIM8_Init 0 */
  197. TIM_Encoder_InitTypeDef sConfig = {0};
  198. TIM_MasterConfigTypeDef sMasterConfig = {0};
  199. /* USER CODE BEGIN TIM8_Init 1 */
  200. /* USER CODE END TIM8_Init 1 */
  201. htim8.Instance = TIM8;
  202. htim8.Init.Prescaler = 0;
  203. htim8.Init.CounterMode = TIM_COUNTERMODE_UP;
  204. htim8.Init.Period = 65535;
  205. htim8.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
  206. htim8.Init.RepetitionCounter = 0;
  207. htim8.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
  208. sConfig.EncoderMode = TIM_ENCODERMODE_TI12;
  209. sConfig.IC1Polarity = TIM_ICPOLARITY_RISING;
  210. sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI;
  211. sConfig.IC1Prescaler = TIM_ICPSC_DIV1;
  212. sConfig.IC1Filter = 0;
  213. sConfig.IC2Polarity = TIM_ICPOLARITY_RISING;
  214. sConfig.IC2Selection = TIM_ICSELECTION_DIRECTTI;
  215. sConfig.IC2Prescaler = TIM_ICPSC_DIV1;
  216. sConfig.IC2Filter = 0;
  217. if (HAL_TIM_Encoder_Init(&htim8, &sConfig) != HAL_OK)
  218. {
  219. Error_Handler();
  220. }
  221. sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
  222. sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
  223. if (HAL_TIMEx_MasterConfigSynchronization(&htim8, &sMasterConfig) != HAL_OK)
  224. {
  225. Error_Handler();
  226. }
  227. /* USER CODE BEGIN TIM8_Init 2 */
  228. /* USER CODE END TIM8_Init 2 */
  229. }
  230. void HAL_TIM_PWM_MspInit(TIM_HandleTypeDef* tim_pwmHandle)
  231. {
  232. GPIO_InitTypeDef GPIO_InitStruct = {0};
  233. if(tim_pwmHandle->Instance==TIM2)
  234. {
  235. /* USER CODE BEGIN TIM2_MspInit 0 */
  236. /* USER CODE END TIM2_MspInit 0 */
  237. /* TIM2 clock enable */
  238. __HAL_RCC_TIM2_CLK_ENABLE();
  239. /* USER CODE BEGIN TIM2_MspInit 1 */
  240. /* USER CODE END TIM2_MspInit 1 */
  241. }
  242. else if(tim_pwmHandle->Instance==TIM3)
  243. {
  244. /* USER CODE BEGIN TIM3_MspInit 0 */
  245. /* USER CODE END TIM3_MspInit 0 */
  246. /* TIM3 clock enable */
  247. __HAL_RCC_TIM3_CLK_ENABLE();
  248. /* USER CODE BEGIN TIM3_MspInit 1 */
  249. /* USER CODE END TIM3_MspInit 1 */
  250. }
  251. else if(tim_pwmHandle->Instance==TIM4)
  252. {
  253. /* USER CODE BEGIN TIM4_MspInit 0 */
  254. /* USER CODE END TIM4_MspInit 0 */
  255. /* TIM4 clock enable */
  256. __HAL_RCC_TIM4_CLK_ENABLE();
  257. __HAL_RCC_GPIOD_CLK_ENABLE();
  258. /**TIM4 GPIO Configuration
  259. PD12 ------> TIM4_CH1
  260. PD13 ------> TIM4_CH2
  261. */
  262. GPIO_InitStruct.Pin = GPIO_PIN_12|GPIO_PIN_13;
  263. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  264. GPIO_InitStruct.Pull = GPIO_PULLUP;
  265. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  266. GPIO_InitStruct.Alternate = GPIO_AF2_TIM4;
  267. HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
  268. /* USER CODE BEGIN TIM4_MspInit 1 */
  269. /* USER CODE END TIM4_MspInit 1 */
  270. }
  271. }
  272. void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle)
  273. {
  274. if(tim_baseHandle->Instance==TIM6)
  275. {
  276. /* USER CODE BEGIN TIM6_MspInit 0 */
  277. /* USER CODE END TIM6_MspInit 0 */
  278. /* TIM6 clock enable */
  279. __HAL_RCC_TIM6_CLK_ENABLE();
  280. /* TIM6 interrupt Init */
  281. HAL_NVIC_SetPriority(TIM6_DAC_IRQn, 5, 0);
  282. HAL_NVIC_EnableIRQ(TIM6_DAC_IRQn);
  283. /* USER CODE BEGIN TIM6_MspInit 1 */
  284. /* USER CODE END TIM6_MspInit 1 */
  285. }
  286. }
  287. void HAL_TIM_Encoder_MspInit(TIM_HandleTypeDef* tim_encoderHandle)
  288. {
  289. GPIO_InitTypeDef GPIO_InitStruct = {0};
  290. if(tim_encoderHandle->Instance==TIM8)
  291. {
  292. /* USER CODE BEGIN TIM8_MspInit 0 */
  293. /* USER CODE END TIM8_MspInit 0 */
  294. /* TIM8 clock enable */
  295. __HAL_RCC_TIM8_CLK_ENABLE();
  296. __HAL_RCC_GPIOC_CLK_ENABLE();
  297. /**TIM8 GPIO Configuration
  298. PC6 ------> TIM8_CH1
  299. PC7 ------> TIM8_CH2
  300. */
  301. GPIO_InitStruct.Pin = GPIO_PIN_6|GPIO_PIN_7;
  302. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  303. GPIO_InitStruct.Pull = GPIO_PULLUP;
  304. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  305. GPIO_InitStruct.Alternate = GPIO_AF3_TIM8;
  306. HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
  307. /* USER CODE BEGIN TIM8_MspInit 1 */
  308. /* USER CODE END TIM8_MspInit 1 */
  309. }
  310. }
  311. void HAL_TIM_MspPostInit(TIM_HandleTypeDef* timHandle)
  312. {
  313. GPIO_InitTypeDef GPIO_InitStruct = {0};
  314. if(timHandle->Instance==TIM2)
  315. {
  316. /* USER CODE BEGIN TIM2_MspPostInit 0 */
  317. /* USER CODE END TIM2_MspPostInit 0 */
  318. __HAL_RCC_GPIOA_CLK_ENABLE();
  319. __HAL_RCC_GPIOB_CLK_ENABLE();
  320. /**TIM2 GPIO Configuration
  321. PA3 ------> TIM2_CH4
  322. PA5 ------> TIM2_CH1
  323. PB10 ------> TIM2_CH3
  324. */
  325. GPIO_InitStruct.Pin = DIS_R1_Pin|DIS_G1_Pin;
  326. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  327. GPIO_InitStruct.Pull = GPIO_NOPULL;
  328. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  329. GPIO_InitStruct.Alternate = GPIO_AF1_TIM2;
  330. HAL_GPIO_Init(GPIOA, &GPIO_InitStruct);
  331. GPIO_InitStruct.Pin = DIS_R2_Pin;
  332. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  333. GPIO_InitStruct.Pull = GPIO_NOPULL;
  334. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  335. GPIO_InitStruct.Alternate = GPIO_AF1_TIM2;
  336. HAL_GPIO_Init(DIS_R2_GPIO_Port, &GPIO_InitStruct);
  337. /* USER CODE BEGIN TIM2_MspPostInit 1 */
  338. /* USER CODE END TIM2_MspPostInit 1 */
  339. }
  340. else if(timHandle->Instance==TIM3)
  341. {
  342. /* USER CODE BEGIN TIM3_MspPostInit 0 */
  343. /* USER CODE END TIM3_MspPostInit 0 */
  344. __HAL_RCC_GPIOA_CLK_ENABLE();
  345. /**TIM3 GPIO Configuration
  346. PA6 ------> TIM3_CH1
  347. */
  348. GPIO_InitStruct.Pin = DIS_B1_Pin;
  349. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  350. GPIO_InitStruct.Pull = GPIO_NOPULL;
  351. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  352. GPIO_InitStruct.Alternate = GPIO_AF2_TIM3;
  353. HAL_GPIO_Init(DIS_B1_GPIO_Port, &GPIO_InitStruct);
  354. /* USER CODE BEGIN TIM3_MspPostInit 1 */
  355. /* USER CODE END TIM3_MspPostInit 1 */
  356. }
  357. else if(timHandle->Instance==TIM4)
  358. {
  359. /* USER CODE BEGIN TIM4_MspPostInit 0 */
  360. /* USER CODE END TIM4_MspPostInit 0 */
  361. __HAL_RCC_GPIOB_CLK_ENABLE();
  362. /**TIM4 GPIO Configuration
  363. PB8 ------> TIM4_CH3
  364. PB9 ------> TIM4_CH4
  365. */
  366. GPIO_InitStruct.Pin = DIS_G2_Pin|DIS_B2_Pin;
  367. GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
  368. GPIO_InitStruct.Pull = GPIO_NOPULL;
  369. GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
  370. GPIO_InitStruct.Alternate = GPIO_AF2_TIM4;
  371. HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
  372. /* USER CODE BEGIN TIM4_MspPostInit 1 */
  373. /* USER CODE END TIM4_MspPostInit 1 */
  374. }
  375. }
  376. void HAL_TIM_PWM_MspDeInit(TIM_HandleTypeDef* tim_pwmHandle)
  377. {
  378. if(tim_pwmHandle->Instance==TIM2)
  379. {
  380. /* USER CODE BEGIN TIM2_MspDeInit 0 */
  381. /* USER CODE END TIM2_MspDeInit 0 */
  382. /* Peripheral clock disable */
  383. __HAL_RCC_TIM2_CLK_DISABLE();
  384. /* USER CODE BEGIN TIM2_MspDeInit 1 */
  385. /* USER CODE END TIM2_MspDeInit 1 */
  386. }
  387. else if(tim_pwmHandle->Instance==TIM3)
  388. {
  389. /* USER CODE BEGIN TIM3_MspDeInit 0 */
  390. /* USER CODE END TIM3_MspDeInit 0 */
  391. /* Peripheral clock disable */
  392. __HAL_RCC_TIM3_CLK_DISABLE();
  393. /* USER CODE BEGIN TIM3_MspDeInit 1 */
  394. /* USER CODE END TIM3_MspDeInit 1 */
  395. }
  396. else if(tim_pwmHandle->Instance==TIM4)
  397. {
  398. /* USER CODE BEGIN TIM4_MspDeInit 0 */
  399. /* USER CODE END TIM4_MspDeInit 0 */
  400. /* Peripheral clock disable */
  401. __HAL_RCC_TIM4_CLK_DISABLE();
  402. /**TIM4 GPIO Configuration
  403. PD12 ------> TIM4_CH1
  404. PD13 ------> TIM4_CH2
  405. PB8 ------> TIM4_CH3
  406. PB9 ------> TIM4_CH4
  407. */
  408. HAL_GPIO_DeInit(GPIOD, GPIO_PIN_12|GPIO_PIN_13);
  409. HAL_GPIO_DeInit(GPIOB, DIS_G2_Pin|DIS_B2_Pin);
  410. /* USER CODE BEGIN TIM4_MspDeInit 1 */
  411. /* USER CODE END TIM4_MspDeInit 1 */
  412. }
  413. }
  414. void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle)
  415. {
  416. if(tim_baseHandle->Instance==TIM6)
  417. {
  418. /* USER CODE BEGIN TIM6_MspDeInit 0 */
  419. /* USER CODE END TIM6_MspDeInit 0 */
  420. /* Peripheral clock disable */
  421. __HAL_RCC_TIM6_CLK_DISABLE();
  422. /* TIM6 interrupt Deinit */
  423. HAL_NVIC_DisableIRQ(TIM6_DAC_IRQn);
  424. /* USER CODE BEGIN TIM6_MspDeInit 1 */
  425. /* USER CODE END TIM6_MspDeInit 1 */
  426. }
  427. }
  428. void HAL_TIM_Encoder_MspDeInit(TIM_HandleTypeDef* tim_encoderHandle)
  429. {
  430. if(tim_encoderHandle->Instance==TIM8)
  431. {
  432. /* USER CODE BEGIN TIM8_MspDeInit 0 */
  433. /* USER CODE END TIM8_MspDeInit 0 */
  434. /* Peripheral clock disable */
  435. __HAL_RCC_TIM8_CLK_DISABLE();
  436. /**TIM8 GPIO Configuration
  437. PC6 ------> TIM8_CH1
  438. PC7 ------> TIM8_CH2
  439. */
  440. HAL_GPIO_DeInit(GPIOC, GPIO_PIN_6|GPIO_PIN_7);
  441. /* USER CODE BEGIN TIM8_MspDeInit 1 */
  442. /* USER CODE END TIM8_MspDeInit 1 */
  443. }
  444. }
  445. /* USER CODE BEGIN 1 */
  446. /* USER CODE END 1 */