一、cubemx配置:
定时器配置:
1.配置为选择内部时钟源;
2.配置定时器定时频率:
F=时钟源频率/[(psc+1)(arr+1)] = 1000hz 对应 1ms; 可以根据自己的需要配置
3.默认递增计数模式;
4.打开定时器更新中断:
TIM1 update Interrupt;
二、代码编写:main.c
1.在主函数中启动定时器:
HAL_TIM_Base_Start_IT(&htim1);
//以中断方式启动定时器
2.编写中断回调函数://以计时1s为例
/* USER CODE BEGIN 4 */
//首先定义一个计数变量cnt:
uint16_t cnt=0;
//定时器每1ms进入中断,所以在回调函数中编写操作
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
if(htim -> Instance == TIM1)
{
cnt++;//进入一次中断就自加1
if(cnt == 1000)
{
cnt=0;
//编写每隔一秒的操作;
HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_13);//103C8T6上面自带的led 1s翻转
}
}
}
/* USER CODE END 4 */