stm32f103c8t6的定时器有哪些,有什么不同
时间: 2025-06-17 08:11:20 浏览: 9
### STM32F103C8T6 定时器列表及功能区别
#### 1. 高级定时器(Advanced Timer)
STM32F103C8T6包含两个高级定时器:TIM1和TIM8。这些定时器具有以下特性:
- 支持输入捕获、输出比较、PWM生成和单脉冲模式操作。
- 具有16位向上、向下、向上/向下自动装载计数器[^3]。
- 提供死区生成和互补输出功能,适用于电机控制等场景。
- 配备16位可编程预分频器,用于调整计数频率[^4]。
```c
// 示例代码:初始化 TIM1
RCC_APB2PeriphClockCmd(RCC_APB2Periph_TIM1, ENABLE); // 启用 TIM1 时钟
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_TimeBaseStructure.TIM_Period = 0xFFFF; // 自动重装载值
TIM_TimeBaseStructure.TIM_Prescaler = 72 - 1; // 预分频器值
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; // 时钟分割
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; // 计数模式
TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure);
```
#### 2. 通用定时器(General Purpose Timer)
STM32F103C8T6包含四个通用定时器:TIM2、TIM3、TIM4和TIM5。这些定时器的主要特点如下:
- 每个通用定时器支持输入捕获、输出比较、PWM生成和单脉冲模式操作。
- TIM2和TIM5为32位计数器,而TIM3和TIM4为16位计数器[^5]。
- 配备16位可编程预分频器,允许灵活调整计数频率。
- 这些定时器挂载在APB1总线上,时钟频率最高可达系统时钟的一半[^6]。
```c
// 示例代码:初始化 TIM2
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); // 启用 TIM2 时钟
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_TimeBaseStructure.TIM_Period = 0xFFFFFFFF; // 自动重装载值
TIM_TimeBaseStructure.TIM_Prescaler = 72 - 1; // 预分频器值
TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; // 时钟分割
TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; // 计数模式
TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
```
#### 3. 基本定时器(Basic Timer)
STM32F103C8T6包含两个基本定时器:TIM6和TIM7。这些定时器的特点包括:
- 不具备输入捕获和输出比较功能,仅提供简单的定时功能。
- 适用于需要简单延时或周期性事件触发的场景。
- 配备16位可编程预分频器和16位自动重装载计数器[^7]。
- 挂载在APB1总线上,时钟频率同样受限于APB1的最大频率。
```c
// 示例代码:初始化 TIM6
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM6, ENABLE); // 启用 TIM6 时钟
TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
TIM_TimeBaseStructure.TIM_Period = 0xFFFF; // 自动重装载值
TIM_TimeBaseStructure.TIM_Prescaler = 72 - 1; // 预分频器值
TIM_TimeBaseInit(TIM6, &TIM_TimeBaseStructure);
```
#### 功能对比总结表
| 定时器类型 | 定时器编号 | 计数器位宽 | 输入捕获 | 输出比较 | PWM生成 | 死区生成 | 总线挂载 |
|--------------|------------|------------|----------|----------|---------|----------|-------------|
| 高级定时器 | TIM1, TIM8 | 16位 | 支持 | 支持 | 支持 | 支持 | APB2 |
| 通用定时器 | TIM2, TIM3, TIM4, TIM5 | 16/32位 | 支持 | 支持 | 支持 | 不支持 | APB1 |
| 基本定时器 | TIM6, TIM7 | 16位 | 不支持 | 不支持 | 不支持 | 不支持 | APB1 |
####
阅读全文
相关推荐


















