1、外部晶振8MHz,下载方式SWD模式,需求配置定时器1,产生每100ms一次中断
新建工程、配置晶振、选择下载方式等略
2、查阅资料,STM32F103的时钟树分配
3、配置CubeMX的时钟树
4、配置定时器-开启定时中断
5、配置定时时间
(定时周期 = (Prescaler + 1) × (Period + 1) ÷ 时钟频率
单位:秒(S))
由步骤3知,时钟频率72MHz = 72 ×
10^6(Hz)
定时100ms = 0.1(S) ,故(Prescaler + 1) × (Period + 1)
= 0.1×
72×
10^6=72×
10^5
(Prescaler + 1)
与(Period + 1)
的值均不能大于65535,这里选择 Prescaler
= 7200-1;Period
=1000-1;
6、代码生成
7、补充初始化代码
放在main函数里,死循环之前,系统配置的初始化之后文章来源:https://www.toymoban.com/news/detail-618449.html
__HAL_TIM_CLEAR_FLAG(&htim1, TIM_FLAG_UPDATE);//启用前清除TIM中断标志位
__HAL_TIM_CLEAR_IT(&htim1, TIM_IT_UPDATE);//启用前清除TIM中断
HAL_TIM_Base_Start_IT(&htim1);//开启TIM计数
8、调用定时服务中断文章来源地址https://www.toymoban.com/news/detail-618449.html
//TIM定时返回函数
void HAL_TIM_PeriodElapsedCallback (TIM_HandleTypeDef *htim)//回调函数
{
if(htim->Instance == TIM1)//判断进入定时1通道回调函数
{
}
}
到了这里,关于STM32F103利用CubeMX配置开启定时中断的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!