前言:
现在我们对“定时器中断实验代码”大概比较关心,各位老铁们都需要分析一些“定时器中断实验代码”的相关内容。那么小编同时在网络上网罗了一些有关“定时器中断实验代码””的相关知识,希望朋友们能喜欢,咱们一起来学习一下吧!STM32CubeMX 软件中如何设置定时器,实现基本定时器中断以1Hz的频率翻转LED?
1、新建STM32CubeMx工程,选择STM32F103R6单片2、然后对TIM1或者TIM2进行设置,本次我们使用TIM2做中断实验,选择内部时钟作为定时器时钟
3、STM32时钟配置保持默认不变,因为我们用proteus仿真来验证本次实验;4、然后对TIM2进行定时中断时间的设置 ,如下图所示:
如果我们想要定时器200ms产生一次中断,单片机的选择内部8M晶振,我们将定时器的分频系数Psc设置为7999; 那么根据公式
我们根据Arr的计算公式
可以得出:Arr=199;
那么,我们可以TIM2进行参数设置,分频系数Psc=7999就是将HCLK(输入给定时器的时钟频率8MHz)进行分频, 得到CLK=1KHz;
定时周期Arr=199; 也就是说定时周期是200个周期,已知1个周期的时间是1ms(1/CLK),那么总的定时周期就是200ms;
综上,定时器经过上述设置,即可实现每隔200ms就进行一次中断;
5、然后对中断进行优先级和使能定时器2进行设置,如下图所示:
6、生成代码
那么以上,就是STM32CubeMX 软件中STM32实现基本定时器中断的设置与操作了;
7、在keil软件中修改代码:
①在如图所示位置添加如下图所示代码
②在如图所示位置编写定时器中断服务函数
完成上述代码之后,就可以
8、在proteus中加载keil软件生成的hex文件,观察实验现象如下视频所示
视频加载中...
标签: #定时器中断实验代码