607 lines
15 KiB
C
607 lines
15 KiB
C
/* USER CODE BEGIN Header */
|
||
/**
|
||
******************************************************************************
|
||
* @file tim.c
|
||
* @brief This file provides code for the configuration
|
||
* of the TIM instances.
|
||
******************************************************************************
|
||
* @attention
|
||
*
|
||
* Copyright (c) 2024 STMicroelectronics.
|
||
* All rights reserved.
|
||
*
|
||
* This software is licensed under terms that can be found in the LICENSE file
|
||
* in the root directory of this software component.
|
||
* If no LICENSE file comes with this software, it is provided AS-IS.
|
||
*
|
||
******************************************************************************
|
||
*/
|
||
/* USER CODE END Header */
|
||
/* Includes ------------------------------------------------------------------*/
|
||
#include "tim.h"
|
||
|
||
/* USER CODE BEGIN 0 */
|
||
|
||
/* USER CODE END 0 */
|
||
|
||
TIM_HandleTypeDef htim1;
|
||
TIM_HandleTypeDef htim2;
|
||
TIM_HandleTypeDef htim3;
|
||
TIM_HandleTypeDef htim6;
|
||
TIM_HandleTypeDef htim7;
|
||
TIM_HandleTypeDef htim10;
|
||
|
||
/* TIM1 init function */
|
||
void MX_TIM1_Init(void)
|
||
{
|
||
|
||
/* USER CODE BEGIN TIM1_Init 0 */
|
||
|
||
/* USER CODE END TIM1_Init 0 */
|
||
|
||
TIM_Encoder_InitTypeDef sConfig = {0};
|
||
TIM_MasterConfigTypeDef sMasterConfig = {0};
|
||
TIM_IC_InitTypeDef sConfigIC = {0};
|
||
|
||
/* USER CODE BEGIN TIM1_Init 1 */
|
||
|
||
/* USER CODE END TIM1_Init 1 */
|
||
htim1.Instance = TIM1;
|
||
htim1.Init.Prescaler = 0;
|
||
htim1.Init.CounterMode = TIM_COUNTERMODE_UP;
|
||
htim1.Init.Period = 65535;
|
||
htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
|
||
htim1.Init.RepetitionCounter = 0;
|
||
htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
|
||
if (HAL_TIM_IC_Init(&htim1) != HAL_OK)
|
||
{
|
||
Error_Handler();
|
||
}
|
||
sConfig.EncoderMode = TIM_ENCODERMODE_TI12;
|
||
sConfig.IC1Polarity = TIM_ICPOLARITY_RISING;
|
||
sConfig.IC1Selection = TIM_ICSELECTION_DIRECTTI;
|
||
sConfig.IC1Prescaler = TIM_ICPSC_DIV1;
|
||
sConfig.IC1Filter = 0;
|
||
sConfig.IC2Polarity = TIM_ICPOLARITY_RISING;
|
||
sConfig.IC2Selection = TIM_ICSELECTION_DIRECTTI;
|
||
sConfig.IC2Prescaler = TIM_ICPSC_DIV1;
|
||
sConfig.IC2Filter = 0;
|
||
if (HAL_TIM_Encoder_Init(&htim1, &sConfig) != HAL_OK)
|
||
{
|
||
Error_Handler();
|
||
}
|
||
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
|
||
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
|
||
if (HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK)
|
||
{
|
||
Error_Handler();
|
||
}
|
||
sConfigIC.ICPolarity = TIM_INPUTCHANNELPOLARITY_RISING;
|
||
sConfigIC.ICSelection = TIM_ICSELECTION_DIRECTTI;
|
||
sConfigIC.ICPrescaler = TIM_ICPSC_DIV1;
|
||
sConfigIC.ICFilter = 0;
|
||
if (HAL_TIM_IC_ConfigChannel(&htim1, &sConfigIC, TIM_CHANNEL_3) != HAL_OK)
|
||
{
|
||
Error_Handler();
|
||
}
|
||
/* USER CODE BEGIN TIM1_Init 2 */
|
||
|
||
/* USER CODE END TIM1_Init 2 */
|
||
|
||
}
|
||
/* TIM2 init function */
|
||
void MX_TIM2_Init(void)
|
||
{
|
||
|
||
/* USER CODE BEGIN TIM2_Init 0 */
|
||
|
||
/* USER CODE END TIM2_Init 0 */
|
||
|
||
TIM_ClockConfigTypeDef sClockSourceConfig = {0};
|
||
TIM_MasterConfigTypeDef sMasterConfig = {0};
|
||
TIM_OC_InitTypeDef sConfigOC = {0};
|
||
|
||
/* USER CODE BEGIN TIM2_Init 1 */
|
||
|
||
/* USER CODE END TIM2_Init 1 */
|
||
htim2.Instance = TIM2;
|
||
htim2.Init.Prescaler = 9;
|
||
htim2.Init.CounterMode = TIM_COUNTERMODE_UP;
|
||
htim2.Init.Period = 62207;
|
||
htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
|
||
htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
|
||
if (HAL_TIM_Base_Init(&htim2) != HAL_OK)
|
||
{
|
||
Error_Handler();
|
||
}
|
||
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
|
||
if (HAL_TIM_ConfigClockSource(&htim2, &sClockSourceConfig) != HAL_OK)
|
||
{
|
||
Error_Handler();
|
||
}
|
||
if (HAL_TIM_PWM_Init(&htim2) != HAL_OK)
|
||
{
|
||
Error_Handler();
|
||
}
|
||
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
|
||
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
|
||
if (HAL_TIMEx_MasterConfigSynchronization(&htim2, &sMasterConfig) != HAL_OK)
|
||
{
|
||
Error_Handler();
|
||
}
|
||
sConfigOC.OCMode = TIM_OCMODE_PWM1;
|
||
sConfigOC.Pulse = 0;
|
||
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
|
||
sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
|
||
if (HAL_TIM_PWM_ConfigChannel(&htim2, &sConfigOC, TIM_CHANNEL_2) != HAL_OK)
|
||
{
|
||
Error_Handler();
|
||
}
|
||
/* USER CODE BEGIN TIM2_Init 2 */
|
||
|
||
/* USER CODE END TIM2_Init 2 */
|
||
HAL_TIM_MspPostInit(&htim2);
|
||
|
||
}
|
||
/* TIM3 init function */
|
||
void MX_TIM3_Init(void)
|
||
{
|
||
|
||
/* USER CODE BEGIN TIM3_Init 0 */
|
||
|
||
/* USER CODE END TIM3_Init 0 */
|
||
|
||
TIM_ClockConfigTypeDef sClockSourceConfig = {0};
|
||
TIM_MasterConfigTypeDef sMasterConfig = {0};
|
||
TIM_OC_InitTypeDef sConfigOC = {0};
|
||
|
||
/* USER CODE BEGIN TIM3_Init 1 */
|
||
|
||
/* USER CODE END TIM3_Init 1 */
|
||
htim3.Instance = TIM3;
|
||
htim3.Init.Prescaler = 0;
|
||
htim3.Init.CounterMode = TIM_COUNTERMODE_UP;
|
||
htim3.Init.Period = 134;
|
||
htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
|
||
htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
|
||
if (HAL_TIM_Base_Init(&htim3) != HAL_OK)
|
||
{
|
||
Error_Handler();
|
||
}
|
||
sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL;
|
||
if (HAL_TIM_ConfigClockSource(&htim3, &sClockSourceConfig) != HAL_OK)
|
||
{
|
||
Error_Handler();
|
||
}
|
||
if (HAL_TIM_PWM_Init(&htim3) != HAL_OK)
|
||
{
|
||
Error_Handler();
|
||
}
|
||
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
|
||
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
|
||
if (HAL_TIMEx_MasterConfigSynchronization(&htim3, &sMasterConfig) != HAL_OK)
|
||
{
|
||
Error_Handler();
|
||
}
|
||
sConfigOC.OCMode = TIM_OCMODE_PWM1;
|
||
sConfigOC.Pulse = 0;
|
||
sConfigOC.OCPolarity = TIM_OCPOLARITY_HIGH;
|
||
sConfigOC.OCFastMode = TIM_OCFAST_DISABLE;
|
||
if (HAL_TIM_PWM_ConfigChannel(&htim3, &sConfigOC, TIM_CHANNEL_2) != HAL_OK)
|
||
{
|
||
Error_Handler();
|
||
}
|
||
/* USER CODE BEGIN TIM3_Init 2 */
|
||
|
||
/* USER CODE END TIM3_Init 2 */
|
||
HAL_TIM_MspPostInit(&htim3);
|
||
|
||
}
|
||
/* TIM6 init function */
|
||
void MX_TIM6_Init(void)
|
||
{
|
||
|
||
/* USER CODE BEGIN TIM6_Init 0 */
|
||
|
||
/* USER CODE END TIM6_Init 0 */
|
||
|
||
TIM_MasterConfigTypeDef sMasterConfig = {0};
|
||
|
||
/* USER CODE BEGIN TIM6_Init 1 */
|
||
|
||
/* USER CODE END TIM6_Init 1 */
|
||
htim6.Instance = TIM6;
|
||
htim6.Init.Prescaler = 23;
|
||
htim6.Init.CounterMode = TIM_COUNTERMODE_UP;
|
||
htim6.Init.Period = 2591;
|
||
htim6.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
|
||
if (HAL_TIM_Base_Init(&htim6) != HAL_OK)
|
||
{
|
||
Error_Handler();
|
||
}
|
||
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
|
||
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
|
||
if (HAL_TIMEx_MasterConfigSynchronization(&htim6, &sMasterConfig) != HAL_OK)
|
||
{
|
||
Error_Handler();
|
||
}
|
||
/* USER CODE BEGIN TIM6_Init 2 */
|
||
|
||
/* USER CODE END TIM6_Init 2 */
|
||
|
||
}
|
||
/* TIM7 init function */
|
||
void MX_TIM7_Init(void)
|
||
{
|
||
|
||
/* USER CODE BEGIN TIM7_Init 0 */
|
||
|
||
/* USER CODE END TIM7_Init 0 */
|
||
|
||
TIM_MasterConfigTypeDef sMasterConfig = {0};
|
||
|
||
/* USER CODE BEGIN TIM7_Init 1 */
|
||
|
||
/* USER CODE END TIM7_Init 1 */
|
||
htim7.Instance = TIM7;
|
||
htim7.Init.Prescaler = 23;
|
||
htim7.Init.CounterMode = TIM_COUNTERMODE_UP;
|
||
htim7.Init.Period = 2591;
|
||
htim7.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
|
||
if (HAL_TIM_Base_Init(&htim7) != HAL_OK)
|
||
{
|
||
Error_Handler();
|
||
}
|
||
sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET;
|
||
sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE;
|
||
if (HAL_TIMEx_MasterConfigSynchronization(&htim7, &sMasterConfig) != HAL_OK)
|
||
{
|
||
Error_Handler();
|
||
}
|
||
/* USER CODE BEGIN TIM7_Init 2 */
|
||
|
||
/* USER CODE END TIM7_Init 2 */
|
||
|
||
}
|
||
/* TIM10 init function */
|
||
void MX_TIM10_Init(void)
|
||
{
|
||
|
||
/* USER CODE BEGIN TIM10_Init 0 */
|
||
|
||
/* USER CODE END TIM10_Init 0 */
|
||
|
||
/* USER CODE BEGIN TIM10_Init 1 */
|
||
|
||
/* USER CODE END TIM10_Init 1 */
|
||
htim10.Instance = TIM10;
|
||
htim10.Init.Prescaler = 47;
|
||
htim10.Init.CounterMode = TIM_COUNTERMODE_UP;
|
||
htim10.Init.Period = 2591;
|
||
htim10.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1;
|
||
htim10.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE;
|
||
if (HAL_TIM_Base_Init(&htim10) != HAL_OK)
|
||
{
|
||
Error_Handler();
|
||
}
|
||
/* USER CODE BEGIN TIM10_Init 2 */
|
||
|
||
/* USER CODE END TIM10_Init 2 */
|
||
|
||
}
|
||
|
||
void HAL_TIM_IC_MspInit(TIM_HandleTypeDef* tim_icHandle)
|
||
{
|
||
|
||
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||
if(tim_icHandle->Instance==TIM1)
|
||
{
|
||
/* USER CODE BEGIN TIM1_MspInit 0 */
|
||
|
||
/* USER CODE END TIM1_MspInit 0 */
|
||
/* TIM1 clock enable */
|
||
__HAL_RCC_TIM1_CLK_ENABLE();
|
||
|
||
__HAL_RCC_GPIOE_CLK_ENABLE();
|
||
/**TIM1 GPIO Configuration
|
||
PE9 ------> TIM1_CH1
|
||
PE11 ------> TIM1_CH2
|
||
PE13 ------> TIM1_CH3
|
||
*/
|
||
GPIO_InitStruct.Pin = GPIO_PIN_9|GPIO_PIN_11|GPIO_PIN_13;
|
||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||
GPIO_InitStruct.Alternate = GPIO_AF1_TIM1;
|
||
HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
|
||
|
||
/* TIM1 interrupt Init */
|
||
HAL_NVIC_SetPriority(TIM1_UP_TIM10_IRQn, 0, 0);
|
||
HAL_NVIC_EnableIRQ(TIM1_UP_TIM10_IRQn);
|
||
/* USER CODE BEGIN TIM1_MspInit 1 */
|
||
|
||
/* USER CODE END TIM1_MspInit 1 */
|
||
}
|
||
}
|
||
|
||
void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle)
|
||
{
|
||
|
||
if(tim_baseHandle->Instance==TIM2)
|
||
{
|
||
/* USER CODE BEGIN TIM2_MspInit 0 */
|
||
|
||
/* USER CODE END TIM2_MspInit 0 */
|
||
/* TIM2 clock enable */
|
||
__HAL_RCC_TIM2_CLK_ENABLE();
|
||
/* USER CODE BEGIN TIM2_MspInit 1 */
|
||
|
||
/* USER CODE END TIM2_MspInit 1 */
|
||
}
|
||
else if(tim_baseHandle->Instance==TIM3)
|
||
{
|
||
/* USER CODE BEGIN TIM3_MspInit 0 */
|
||
|
||
/* USER CODE END TIM3_MspInit 0 */
|
||
/* TIM3 clock enable */
|
||
__HAL_RCC_TIM3_CLK_ENABLE();
|
||
/* USER CODE BEGIN TIM3_MspInit 1 */
|
||
|
||
/* USER CODE END TIM3_MspInit 1 */
|
||
}
|
||
else if(tim_baseHandle->Instance==TIM6)
|
||
{
|
||
/* USER CODE BEGIN TIM6_MspInit 0 */
|
||
|
||
/* USER CODE END TIM6_MspInit 0 */
|
||
/* TIM6 clock enable */
|
||
__HAL_RCC_TIM6_CLK_ENABLE();
|
||
|
||
/* TIM6 interrupt Init */
|
||
HAL_NVIC_SetPriority(TIM6_DAC_IRQn, 0, 0);
|
||
HAL_NVIC_EnableIRQ(TIM6_DAC_IRQn);
|
||
/* USER CODE BEGIN TIM6_MspInit 1 */
|
||
|
||
/* USER CODE END TIM6_MspInit 1 */
|
||
}
|
||
else if(tim_baseHandle->Instance==TIM7)
|
||
{
|
||
/* USER CODE BEGIN TIM7_MspInit 0 */
|
||
|
||
/* USER CODE END TIM7_MspInit 0 */
|
||
/* TIM7 clock enable */
|
||
__HAL_RCC_TIM7_CLK_ENABLE();
|
||
|
||
/* TIM7 interrupt Init */
|
||
HAL_NVIC_SetPriority(TIM7_IRQn, 0, 0);
|
||
HAL_NVIC_EnableIRQ(TIM7_IRQn);
|
||
/* USER CODE BEGIN TIM7_MspInit 1 */
|
||
|
||
/* USER CODE END TIM7_MspInit 1 */
|
||
}
|
||
else if(tim_baseHandle->Instance==TIM10)
|
||
{
|
||
/* USER CODE BEGIN TIM10_MspInit 0 */
|
||
|
||
/* USER CODE END TIM10_MspInit 0 */
|
||
/* TIM10 clock enable */
|
||
__HAL_RCC_TIM10_CLK_ENABLE();
|
||
|
||
/* TIM10 interrupt Init */
|
||
HAL_NVIC_SetPriority(TIM1_UP_TIM10_IRQn, 0, 0);
|
||
HAL_NVIC_EnableIRQ(TIM1_UP_TIM10_IRQn);
|
||
/* USER CODE BEGIN TIM10_MspInit 1 */
|
||
|
||
/* USER CODE END TIM10_MspInit 1 */
|
||
}
|
||
}
|
||
void HAL_TIM_MspPostInit(TIM_HandleTypeDef* timHandle)
|
||
{
|
||
|
||
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||
if(timHandle->Instance==TIM2)
|
||
{
|
||
/* USER CODE BEGIN TIM2_MspPostInit 0 */
|
||
|
||
/* USER CODE END TIM2_MspPostInit 0 */
|
||
__HAL_RCC_GPIOB_CLK_ENABLE();
|
||
/**TIM2 GPIO Configuration
|
||
PB3 ------> TIM2_CH2
|
||
*/
|
||
GPIO_InitStruct.Pin = GPIO_PIN_3;
|
||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||
GPIO_InitStruct.Alternate = GPIO_AF1_TIM2;
|
||
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||
|
||
/* USER CODE BEGIN TIM2_MspPostInit 1 */
|
||
|
||
/* USER CODE END TIM2_MspPostInit 1 */
|
||
}
|
||
else if(timHandle->Instance==TIM3)
|
||
{
|
||
/* USER CODE BEGIN TIM3_MspPostInit 0 */
|
||
|
||
/* USER CODE END TIM3_MspPostInit 0 */
|
||
|
||
__HAL_RCC_GPIOB_CLK_ENABLE();
|
||
/**TIM3 GPIO Configuration
|
||
PB5 ------> TIM3_CH2
|
||
*/
|
||
GPIO_InitStruct.Pin = GPIO_PIN_5;
|
||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW;
|
||
GPIO_InitStruct.Alternate = GPIO_AF2_TIM3;
|
||
HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
|
||
|
||
/* USER CODE BEGIN TIM3_MspPostInit 1 */
|
||
|
||
/* USER CODE END TIM3_MspPostInit 1 */
|
||
}
|
||
|
||
}
|
||
|
||
void HAL_TIM_IC_MspDeInit(TIM_HandleTypeDef* tim_icHandle)
|
||
{
|
||
|
||
if(tim_icHandle->Instance==TIM1)
|
||
{
|
||
/* USER CODE BEGIN TIM1_MspDeInit 0 */
|
||
|
||
/* USER CODE END TIM1_MspDeInit 0 */
|
||
/* Peripheral clock disable */
|
||
__HAL_RCC_TIM1_CLK_DISABLE();
|
||
|
||
/**TIM1 GPIO Configuration
|
||
PE9 ------> TIM1_CH1
|
||
PE11 ------> TIM1_CH2
|
||
PE13 ------> TIM1_CH3
|
||
*/
|
||
HAL_GPIO_DeInit(GPIOE, GPIO_PIN_9|GPIO_PIN_11|GPIO_PIN_13);
|
||
|
||
/* TIM1 interrupt Deinit */
|
||
/* USER CODE BEGIN TIM1:TIM1_UP_TIM10_IRQn disable */
|
||
/**
|
||
* Uncomment the line below to disable the "TIM1_UP_TIM10_IRQn" interrupt
|
||
* Be aware, disabling shared interrupt may affect other IPs
|
||
*/
|
||
/* HAL_NVIC_DisableIRQ(TIM1_UP_TIM10_IRQn); */
|
||
/* USER CODE END TIM1:TIM1_UP_TIM10_IRQn disable */
|
||
|
||
/* USER CODE BEGIN TIM1_MspDeInit 1 */
|
||
|
||
/* USER CODE END TIM1_MspDeInit 1 */
|
||
}
|
||
}
|
||
|
||
void HAL_TIM_Base_MspDeInit(TIM_HandleTypeDef* tim_baseHandle)
|
||
{
|
||
|
||
if(tim_baseHandle->Instance==TIM2)
|
||
{
|
||
/* USER CODE BEGIN TIM2_MspDeInit 0 */
|
||
|
||
/* USER CODE END TIM2_MspDeInit 0 */
|
||
/* Peripheral clock disable */
|
||
__HAL_RCC_TIM2_CLK_DISABLE();
|
||
/* USER CODE BEGIN TIM2_MspDeInit 1 */
|
||
|
||
/* USER CODE END TIM2_MspDeInit 1 */
|
||
}
|
||
else if(tim_baseHandle->Instance==TIM3)
|
||
{
|
||
/* USER CODE BEGIN TIM3_MspDeInit 0 */
|
||
|
||
/* USER CODE END TIM3_MspDeInit 0 */
|
||
/* Peripheral clock disable */
|
||
__HAL_RCC_TIM3_CLK_DISABLE();
|
||
/* USER CODE BEGIN TIM3_MspDeInit 1 */
|
||
|
||
/* USER CODE END TIM3_MspDeInit 1 */
|
||
}
|
||
else if(tim_baseHandle->Instance==TIM6)
|
||
{
|
||
/* USER CODE BEGIN TIM6_MspDeInit 0 */
|
||
|
||
/* USER CODE END TIM6_MspDeInit 0 */
|
||
/* Peripheral clock disable */
|
||
__HAL_RCC_TIM6_CLK_DISABLE();
|
||
|
||
/* TIM6 interrupt Deinit */
|
||
HAL_NVIC_DisableIRQ(TIM6_DAC_IRQn);
|
||
/* USER CODE BEGIN TIM6_MspDeInit 1 */
|
||
|
||
/* USER CODE END TIM6_MspDeInit 1 */
|
||
}
|
||
else if(tim_baseHandle->Instance==TIM7)
|
||
{
|
||
/* USER CODE BEGIN TIM7_MspDeInit 0 */
|
||
|
||
/* USER CODE END TIM7_MspDeInit 0 */
|
||
/* Peripheral clock disable */
|
||
__HAL_RCC_TIM7_CLK_DISABLE();
|
||
|
||
/* TIM7 interrupt Deinit */
|
||
HAL_NVIC_DisableIRQ(TIM7_IRQn);
|
||
/* USER CODE BEGIN TIM7_MspDeInit 1 */
|
||
|
||
/* USER CODE END TIM7_MspDeInit 1 */
|
||
}
|
||
else if(tim_baseHandle->Instance==TIM10)
|
||
{
|
||
/* USER CODE BEGIN TIM10_MspDeInit 0 */
|
||
|
||
/* USER CODE END TIM10_MspDeInit 0 */
|
||
/* Peripheral clock disable */
|
||
__HAL_RCC_TIM10_CLK_DISABLE();
|
||
|
||
/* TIM10 interrupt Deinit */
|
||
/* USER CODE BEGIN TIM10:TIM1_UP_TIM10_IRQn disable */
|
||
/**
|
||
* Uncomment the line below to disable the "TIM1_UP_TIM10_IRQn" interrupt
|
||
* Be aware, disabling shared interrupt may affect other IPs
|
||
*/
|
||
/* HAL_NVIC_DisableIRQ(TIM1_UP_TIM10_IRQn); */
|
||
/* USER CODE END TIM10:TIM1_UP_TIM10_IRQn disable */
|
||
|
||
/* USER CODE BEGIN TIM10_MspDeInit 1 */
|
||
|
||
/* USER CODE END TIM10_MspDeInit 1 */
|
||
}
|
||
}
|
||
|
||
/* USER CODE BEGIN 1 */
|
||
int it_10ms_flag = 0;
|
||
int it_10ms_cnt = 0;
|
||
int it_100ms_flag = 0;
|
||
int it_100ms_cnt = 0;
|
||
int it_1000ms_flag = 0;
|
||
int it_1000ms_cnt = 0;
|
||
|
||
void tim6_cnt(void)
|
||
{
|
||
it_10ms_cnt++;
|
||
if(it_10ms_cnt > 9)
|
||
{
|
||
it_10ms_flag = 1;
|
||
it_10ms_cnt = 0;
|
||
}
|
||
it_100ms_cnt++;
|
||
if(it_100ms_cnt > 99)
|
||
{
|
||
it_100ms_flag = 1;
|
||
it_100ms_cnt = 0;
|
||
}
|
||
it_1000ms_cnt++;
|
||
if(it_1000ms_cnt > 999)
|
||
{
|
||
it_1000ms_flag = 1;
|
||
it_1000ms_cnt = 0;
|
||
}
|
||
}
|
||
|
||
//<2F><>дTIM<49>жϵ<D0B6><CFB5>ú<EFBFBD><C3BA><EFBFBD>
|
||
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
|
||
{
|
||
if(htim == &htim6)
|
||
{
|
||
tim6_cnt();
|
||
}
|
||
if(htim == &htim7)
|
||
{
|
||
__HAL_TIM_CLEAR_FLAG(&htim7, TIM_FLAG_UPDATE); //<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>֤<EFBFBD><D6A4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1msû<73>н<EFBFBD><D0BD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD>һ֡<D2BB><D6A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||
HAL_TIM_Base_Stop_IT(&htim7); //<2F>ж<EFBFBD>֮<EFBFBD><D6AE>ֹͣ<CDA3><D6B9>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD>ν<EFBFBD><CEBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD>ݿ<EFBFBD>ʼ
|
||
MODBUS_UART.rx_size = MODBUS_UART.rx_buf_cnt; //<2F><><EFBFBD><EFBFBD><EFBFBD>յ<EFBFBD><D5B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
|
||
MODBUS_UART.rx_buf_cnt = 0; //<2F><><EFBFBD><EFBFBD>
|
||
modbus_process_rtu();
|
||
}
|
||
if(htim == &htim10)
|
||
{
|
||
hart_tim_cb();
|
||
}
|
||
|
||
}
|
||
/* USER CODE END 1 */
|