STM32CubeMX:基本定时器

时间:2021-11-10 08:55:13

芯片:STM32F103C8T6

应用管脚:

输出:PA0、PA1

TIM3

实现1ms定时功能,系统TIMx_CNT=8MHZ=8000 000HZ,设置TIMx_PSC=800-1,那么TIMx_ARR=(TIMx_CNT/TIMx_PSC)*定时器时间=(8000000/800)*0.001=10,TIMx_ARR=10-1。

配置界面

STM32CubeMX:基本定时器

TIM3配置

STM32CubeMX:基本定时器

开启NVIC中断配置

STM32CubeMX:基本定时器

程序中增加回调函数

/* USER CODE BEGIN 4 */
/**
* @brief Period elapsed callback in non blocking mode
* @param htim : TIM handle
* @retval None
*/
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
if(htim==&htim3)
{
HAL_GPIO_WritePin(GPIOA,GPIO_PIN_0,(GPIO_PinState)!HAL_GPIO_ReadPin(GPIOA,GPIO_PIN_0));
}
}
/* USER CODE END 4 */

启动TIM3定时器

  /* USER CODE BEGIN 2 */
HAL_TIM_Base_Start_IT(&htim3);
/* USER CODE END 2 */