您的位置 首页 > 数码极客

如何设置中断ST——如何设置中断屏蔽字

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文件,观察实验现象如下视频所示

责任编辑: 鲁达

1.内容基于多重复合算法人工智能语言模型创作,旨在以深度学习研究为目的传播信息知识,内容观点与本网站无关,反馈举报请
2.仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证;
3.本站属于非营利性站点无毒无广告,请读者放心使用!

“如何设置中断ST,如何设置中断屏蔽字,如何设置中断向量表,如何设置中断矢量,如何设置中断优先级”边界阅读