目的:操作通用定时器实现基本时基
配置文件:#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)
其中定时器时间的计算公式:
时间