STM32F407手册学习系列-外设之基本定时器

博客参考资料

https://www.rishiqing.com/share/doc/NzQ4MzMyOQ==?version=reditor

https://www.cnblogs.com/firege/p/5805886.html

https://zhuanlan.zhihu.com/c_1101899020108214272

视频

https://www.bilibili.com/video/av23178859?p=68

------------------------------------------------------------------------

整个定时器周期由下面2个寄存器决定:

----------------------------------------------------------------------------------------------------------------

 

 

硬时科技P66

 

 

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 硬时科技P68

定时器初始化结构体,跟硬件有关,硬件层面上的:

 

 对应寄存器手册上内容

 

 

------------------------------------------------------------------------下面是TIMx_CNT寄存器---------------------------------------------------------------------------------

 

对应寄存器手册上内容

 

 

 

 

 

---------------------------------------------------------------------------下面是TIMx_ARR寄存器--------------------------------------------------------------------------------

 

定时器产生中断的频率=计数器时钟频率CK_CNT/自动重装载值

对应寄存器手册上内容

1.

 

 

2.

 

 

 

-------------------------------------------------------------------------------------------------------------------------------------------------------

 

 

 

-----------------------------------------------------以下为定时器句柄结构体-----------------------------------------------------------------

定时器句柄结构体,定时器编程使用,软件层面上的:

 

 -------------------------------------------------------------------------------------------------------------

 

 定时器寄存器基地址:用于区分定时器。通过这个来判断,当前使用哪一个定时器。

-----------------------------------------------------------------------------------------------------------------

 

 

---------------------------------------------------------------------------------------------------------

基本定时器TIM6没有通道

-----------------------------------------------------------------------------------------------------

 

 

那么TIM6有几个DMA,通过编程手册查询

就是通过下面的表来查一下有没有TIM6

 

 可以查到有TIM6_UP,所以基本定时器也是有DMA功能的

----------------------------------------------------------------------------------------------------------------------

 

 ----------------------------------------------------------------------------------------------------------------------

 

 

----------------------------------------------------------------------------------------------------------------------

 

代码分析

bsp_BasicTIM.h头文件里面定义

#define BASIC_TIMx                     TIM7
#define BASIC_TIM_RCC_CLK_ENABLE()     __HAL_RCC_TIM7_CLK_ENABLE()  //定时器7相关时钟
#define BASIC_TIM_RCC_CLK_DISABLE()    __HAL_RCC_TIM7_CLK_DISABLE() //定时器7相关时钟
#define BASIC_TIM_IRQ                  TIM7_IRQn //定义中断号
#define BASIC_TIM_INT_FUN              TIM7_IRQHandler //定义中断服务函数。

 关于中断号(TIM7_IRQn),不能自己随便写,这是由汇编文件给出的。

posted @ 2020-01-06 00:58  靖愁  阅读(565)  评论(0编辑  收藏  举报