龙空技术网

STM32如何快速配置定时器中断?STM32CubeMX 神器助你一臂之力

风口上的胖子 168

前言:

现在我们对“定时器中断实验代码”大概比较关心,各位老铁们都需要分析一些“定时器中断实验代码”的相关内容。那么小编同时在网络上网罗了一些有关“定时器中断实验代码””的相关知识,希望朋友们能喜欢,咱们一起来学习一下吧!

STM32CubeMX 软件中如何设置定时器,实现基本定时器中断以1Hz的频率翻转LED?

1、新建STM32CubeMx工程,选择STM32F103R6单片2、然后对TIM1或者TIM2进行设置,本次我们使用TIM2做中断实验,选择内部时钟作为定时器时钟

内部时钟

3、STM32时钟配置保持默认不变,因为我们用proteus仿真来验证本次实验;4、然后对TIM2进行定时中断时间的设置 ,如下图所示:

TIM2设置

如果我们想要定时器200ms产生一次中断,单片机的选择内部8M晶振,我们将定时器的分频系数Psc设置为7999; 那么根据公式

定时器参数设置

我们根据Arr的计算公式

可以得出:Arr=199;

那么,我们可以TIM2进行参数设置,分频系数Psc=7999就是将HCLK(输入给定时器的时钟频率8MHz)进行分频, 得到CLK=1KHz;

定时周期Arr=199; 也就是说定时周期是200个周期,已知1个周期的时间是1ms(1/CLK),那么总的定时周期就是200ms;

TIM2设置

综上,定时器经过上述设置,即可实现每隔200ms就进行一次中断;

TIM2参数设置

5、然后对中断进行优先级和使能定时器2进行设置,如下图所示:

中断进行优先级和使能定时器2

6、生成代码

对项目进行设置

生成代码

那么以上,就是STM32CubeMX 软件中STM32实现基本定时器中断的设置与操作了;

7、在keil软件中修改代码:

①在如图所示位置添加如下图所示代码

打开TIM2基本定时

②在如图所示位置编写定时器中断服务函数

定时器中断服务函数

完成上述代码之后,就可以

8、在proteus中加载keil软件生成的hex文件,观察实验现象如下视频所示

视频加载中...

标签: #定时器中断实验代码