STM32CubeMX V6.5.0 在STM32F407ZGT6(正点原子开发板)上实验2----定时器6

实验1讲了通过延时使LED流水显示,这个实验2讲通过定时器中断来代替延时。现象同样是LED闪烁。

工具:正点原子的STM32F4探索者开发板。

准备:STLINK连接电脑和开发板。然后开发板上电。

工程:采用实验1的工程继续讲

1.知识准备:

1)所用的定时器6通过参考手册得知,是挂载在APB1上的,如图:

STM32CubeMX V6.5.0 在STM32F407ZGT6(正点原子开发板)上实验2----定时器6_第1张图片

2)查看STM32CubeMX,得知APB1定时器时钟是84M

STM32CubeMX V6.5.0 在STM32F407ZGT6(正点原子开发板)上实验2----定时器6_第2张图片

2.设置定时器6参数,别忘了使acitvated处于勾选状态。

STM32CubeMX V6.5.0 在STM32F407ZGT6(正点原子开发板)上实验2----定时器6_第3张图片

STM32CubeMX V6.5.0 在STM32F407ZGT6(正点原子开发板)上实验2----定时器6_第4张图片

3.设置全局的NVIC

STM32CubeMX V6.5.0 在STM32F407ZGT6(正点原子开发板)上实验2----定时器6_第5张图片

STM32CubeMX V6.5.0 在STM32F407ZGT6(正点原子开发板)上实验2----定时器6_第6张图片

4.点击生成代码即可

5.添加开启定时器代码,注意:默认定时器是不开启的,需要我们自己添加代码

STM32CubeMX V6.5.0 在STM32F407ZGT6(正点原子开发板)上实验2----定时器6_第7张图片 6.添加定时器中断回调函数,下图在main中找个地方就可以,也可以单独自己新建个文件。注意,如果不添加此代码,中断发生后会到同样名称的一个弱函数中的,也就没法添加LED翻转的代码了。

STM32CubeMX V6.5.0 在STM32F407ZGT6(正点原子开发板)上实验2----定时器6_第8张图片

7.把原来延时翻转LED0的程序注释掉

STM32CubeMX V6.5.0 在STM32F407ZGT6(正点原子开发板)上实验2----定时器6_第9张图片

8.现在下载程序就可以看到现象了。

9.程序分析

1)全局中断优先级分组生成的代码位置 

 STM32CubeMX V6.5.0 在STM32F407ZGT6(正点原子开发板)上实验2----定时器6_第10张图片

STM32CubeMX V6.5.0 在STM32F407ZGT6(正点原子开发板)上实验2----定时器6_第11张图片

 2)中断后程序执行过程

STM32CubeMX V6.5.0 在STM32F407ZGT6(正点原子开发板)上实验2----定时器6_第12张图片

STM32CubeMX V6.5.0 在STM32F407ZGT6(正点原子开发板)上实验2----定时器6_第13张图片

然后就到我们自己写的回调函数那了,如果我们自己不写,就到了这个弱函数:

STM32CubeMX V6.5.0 在STM32F407ZGT6(正点原子开发板)上实验2----定时器6_第14张图片

10.整个工程分享(含STM32CubeMX 和KEIL5)

链接:https://pan.baidu.com/s/198OC_7PaNzukczUnxwaYYw?pwd=1234 
提取码:1234

https://download.csdn.net/download/Running_A/85589295icon-default.png?t=M4ADhttps://download.csdn.net/download/Running_A/85589295

你可能感兴趣的:(stm32,单片机,物联网)