平台
硬件平台:战舰开发板
芯片:stm32f103ze
环境:MDK5 +CubeMX
配置
1.时钟和debug配置
2.定时器配置
时钟源选择内部时钟,不用选择通道,重点是参数的配置,这决定了定时的时间,这里我们系统时钟用了8MHZ,分频系数取799,周期取4999,则定时器开启到进入中断应该是(800*5000/8)us,即500ms。注意都是16位的,取值不可超过65535。
注意开启中断。
代码
HAL_TIM_Base_Start_IT(&htim1);
在主函数中开启定时器,计时开始。
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim){if(htim->Instance == htim1.Instance){HAL_GPIO_TogglePin(GPIOB,GPIO_PIN_5);}
}
每0.5s后进入此中断回调函数(写在main函数外),对PB5进行电平的翻转,这样有助于给系统一个固定的节拍。