C2000 CPU Timer 学习笔记

1. CPU Timer 是什么

C2000 的 CPU Timer 本质是:

复制代码
32 位倒计数器

从设定值开始减,减到 0 后产生中断,然后重新装载,继续下一轮。


2. 工作流程

CPU Timer 流程图​编辑

核心流程:

ini 复制代码
SYSCLKOUT
↓
预分频器 PSC
↓
TIMCLK
↓
主计数器 TIM
↓
TIM = 0
↓
产生中断

3. 两级计数

CPU Timer 时序图
​编辑

第一级:预分频器

复制代码
SYSCLKOUT 驱动 PSC 递减
PSC 减到 0 → 产生 TIMCLK

第二级:主计数器

复制代码
TIMCLK 驱动 TIM 递减
TIM 减到 0 → 产生定时器中断

4. 主要寄存器

寄存器 作用
PRD / PRDH 设置 32 位定时周期
TIM / TIMH 32 位当前计数值
TPR / TPRH 存放预分频设定值和当前预分频计数值
TCR 控制定时器启动、停止、中断

TPR、TDDR、PSC 的关系

TPRTPRH 是两个 16 位寄存器,但里面又分成几个 8 位字段:

寄存器 高 8 位 低 8 位
TPRH PSCH TDDRH
TPR PSC TDDR

组合后:

组合字段 含义
TDDRH:TDDR 16 位预分频设定值
PSCH:PSC 16 位预分频当前计数值

简单记:

makefile 复制代码
TDDRH:TDDR 决定分频多少
PSCH:PSC 是当前倒计数值
TPR/TPRH 只是存放这些字段的寄存器

5. 定时时间

scss 复制代码
定时时间 ≈ (PRD + 1) × (TDDR + 1) / SYSCLKOUT

不使用预分频时:

ini 复制代码
TDDR = 0
定时时间 ≈ (PRD + 1) / SYSCLKOUT

例子:

ini 复制代码
SYSCLKOUT = 60MHz
目标定时 = 1ms
PRD = 60000 - 1
TDDR = 0

6. 配置步骤

markdown 复制代码
1. 设置 PRD
2. 设置 TPR / TPRH
3. 重装载计数器
4. 使能定时器中断
5. 启动定时器
6. 配置 PIE 和 CPU 中断

7. 核心代码

ini 复制代码
CpuTimer0Regs.TCR.bit.TSS = 1;      // 停止定时器

CpuTimer0Regs.PRD.all = 60000 - 1;  // 1ms,60MHz
CpuTimer0Regs.TPR.all  = 0;         // TDDR = 0,不预分频
CpuTimer0Regs.TPRH.all = 0;

CpuTimer0Regs.TCR.bit.TRB = 1;      // 重装载
CpuTimer0Regs.TCR.bit.TIF = 1;      // 清中断标志
CpuTimer0Regs.TCR.bit.TIE = 1;      // 使能中断

CpuTimer0Regs.TCR.bit.TSS = 0;      // 启动定时器

8. 总结

makefile 复制代码
CPU Timer = 预分频器 + 32 位倒计数器。
TDDRH:TDDR 设置预分频;
PSCH:PSC 是预分频当前值;
TIMH:TIM 减到 0 后产生中断。

相关推荐
iCxhust3 小时前
AD0808调试笔记
笔记·单片机·嵌入式硬件·操作系统·微机原理·8088单板机
木子单片机4 小时前
基于51单片机的步进电机调速系统设计
单片机·嵌入式硬件·51单片机·keil
三易串口屏5 小时前
实验10 物理按键实验
单片机·51单片机·串口屏·串口协议·uart 通信·嵌入式 ui
深圳光特通信豆子5 小时前
10Mb/s TTL单模双纤光收发模块技术规格手册
单片机·嵌入式硬件
一路往蓝-Anbo5 小时前
第六章:RTOS 任务 —— 任务逻辑与并发的 TDD 路径
网络·stm32·单片机·嵌入式硬件·tdd
星夜夏空995 小时前
STM32单片机学习(20) —— 利用中断实现串口通信(填前面的坑)
stm32·单片机·学习
wengqidaifeng5 小时前
2026年电赛校赛备战MSPM0G3507+keil讲解(上)-----2025年电赛E题小车篇
单片机·嵌入式硬件·电赛
三易串口屏5 小时前
实验1 实时显示单片机的参数(整数、小数、中文 系统指令方式)
c语言·单片机·嵌入式硬件·mongodb·串口屏·三易串口屏
学不懂飞行器7 小时前
【2024电赛H题硬核解析】自动行驶小车满分对策:多路灰度循迹与陀螺仪“交替盲走”融合算法(附源码)
stm32·单片机·嵌入式硬件·算法·电赛