stm32学习笔记——定时器(1)

本文详细介绍了STM32通用定时器的配置过程,包括配置文件、结构体定义、宏定义以及库函数的使用。通过设置预分频系数、计数模式和周期等参数,实现了基本时基操作。此外,还解析了定时器中断的相关函数,如中断配置、中断状态检查和中断标志位清除。代码示例中展示了如何初始化定时器并启用中断,以达到计时1秒并控制LED灯的目的。
摘要由CSDN通过智能技术生成


目的:操作通用定时器实现基本时基

配置文件:#include "stm32f10x_gpio.h"

          #include "stm32f10x_rcc.h" 

          #include "stm32f10x_tim.h"//定时器头文件

          #include "misc.h"//定时器中断头文件

寄存器:参阅stm32参考手册

 

结构体定义:

 

typedef struct

{

  uint16_t TIM_Prescaler;   //预分频系数,对时钟源进行任意系数分频

      

  uint16_t TIM_CounterMode;       //计数模式

 

  uint16_t TIM_Period;            //计数周期

 

  uint16_t TIM_ClockDivision;     //外部时钟分频系数(这个例子里FIRE没有使用)

 

  uint8_t TIM_RepetitionCounter; 

} TIM_TimeBaseInitTypeDef; 

 

其中参数有宏定义为

计数模式宏定义:

#define TIM_CounterMode_Up                 ((uint16_t)0x0000)

#define TIM_CounterMode_Down               ((uint16_t)0x0010)

#define TIM_CounterMode_CenterAligned1     ((uint16_t)0x0020)

#define TIM_CounterMode_CenterAligned2     ((uint16_t)0x0040)

#define TIM_CounterMode_CenterAligned3     ((uint16_t)0x0060)

外部分频系数宏定义:

#define TIM_CKD_DIV1                       ((uint16_t)0x0000)

#define TIM_CKD_DIV2                       ((uint16_t)0x0100)

#define TIM_CKD_DIV4                       ((uint16_t)0x0200)

其中定时器时间的计算公式:

时间 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值