目录
第一节 定时器介绍
第二节 定时器常用寄存器介绍
第三节 实验
第四节 实验现象
文章图片
第一节 定时器介绍 STM32F407的通用定时器包含一个16位或32位自动重载计数器,该计数器由可编程预分频器驱动。定时器可以用于测量输入信号的脉宽,输出PWM信号等,而且定时器之间是完全独立的。通用定时器功能有:16位/32位自动装载计数器;16位可编程预分频器,分频系数为1~65535之间的任意数值;4个独立通道等(具体的可以参考数据手册)。
第二节 定时器常用寄存器介绍
- 使能寄存器
文章图片
2.事件更新中断
TIMx_DIER:DMA中断使能寄存器,最低位控制事件更新中断的开关,如下图所示:
文章图片
3.分频寄存器
TIMx_PSC:定时器时钟分频寄存器,如下图所示:
文章图片
4.计数值重载寄存器
TIMx_ARR:装载计数值,如下图所示:
文章图片
5.状态寄存器
TIMx_SR:状态寄存器,标记当前与定时器相关的各种事件/中断是否发生,我们只用到最低位表示事件更新中断的标志位,如下图所示:
文章图片
文章图片
其它定时器相关的寄存器详细介绍可以参考数据手册中与定时器相关的章节。
第三节 实验 定时器实验控制LED的闪烁,红色灯的闪烁频率为绿色的两倍,LED与MCU硬件连接的电路图如下图所示:
文章图片
文章图片
两个LED分别与PC1与PC4引脚相连,具体的配置参考《GPIO实验教程》,那么我们就对定时器进行配置,配置代码(通过调用官方库)如下图所示:
文章图片
详细的代码可以参考我们提供的例程代码。
开发接口连接可以参考《开发接口连接教程》,路径为:..\WT_Mobile\0.从这里开始\2.快速上手。
开发板供电可以参考《如何上电》教程,路径为:..\WT_Mobile\0.从这里开始\0.开机测试。
下面打开定时器实验工程文件定时器.uvproj,路径为:..\WT_Mobile\1.初级教程\STM32F407\3_定时器\定时器\user,如下图所示:
文章图片
打开代码后先点击编译按钮,编译完成没有错误之后直接点击Load按钮下载代码,如果需要调试,单步运行代码就点击DEBUG按钮,如下图所示:
文章图片
第四节 实验现象 完成第三节的操作之后,就会看到板子上的两个LED灯开始闪烁,并且红色LED灯的闪烁频率为绿色LED的两倍。如果按Load按钮下载没有现象就按一下板子上的复位按键。如果点击的DEBUG按钮就需要点击全速运行。
【【开源】STM32F407-定时器实验教程 ——疯壳·ARM双处理器开发板系列】
推荐阅读
- 【开源】STM32F407-ADC实验教程 ——疯壳·ARM双处理器开发板系列
- 【开源】STM32F407- 外部中断实验教程——疯壳·ARM双处理器开发板系列
- 【开源】DA14580-BLE透传实验教程——疯壳·ARM双处理器开发板系列
- 【开源】STM32F407-GPIO实验教程——疯壳·ARM双处理器开发板系列
- 【开源】DA14580-SPI教程——疯壳·ARM双处理器开发板系列
- 【开源】DA14580-GPIO实验教程——疯壳·ARM双处理器开发板系列
- 【开源】DA14580-I2C教程——疯壳·ARM双处理器开发板系列
- 【开源】DA14580-定时器实验教程——疯壳·ARM双处理器开发板系列
- 基于CubeIDE开发笔记|HAL库部分常用函数名称及作用