后续需要使用 GPT 计数器实现中断以及延时,这里我们需要先了解一下GPT的功能以及相关寄存器。
目录
一、GPT 定时器的功能
gpt 定时器的主要包含以下三个功能:
- 计数器
- 输入捕获(可产生捕获中断)
- 输出比较(可产生比较中断)—— 注意 GPT 的模式
1、计数器
根据图中路线,可以大致了解配置计数器的顺序:
- 第一步,选择时钟源,这里我们依然 ipg_clk (66MHz)
- 第二步,选择分频数(1~4096)
因为计数器是向上计数的,也就是说,每过一个时钟周期就会自增 1。

2、输入捕获
输入捕获(Input Capture,ICR)可以捕获到时钟源产生的上升沿或者下降沿,并产生中断。GPT 定时器有两个输入捕获通道

3、输出比较(GPT的两种工作模式)
输出比较(Output Compare,OCR)包含三个输出通道GPT_COMPARE1~3 ,通道的使用和触发中断的机制都取决于 GPT 的工作模式:
- Restart Mode:需要预设 Output Regx ,当计数器的值 == Output Regx时,会产生比较中断(仅适用于GPT_COMPARE1)
- Free-Run Mode:计数器从 0 开始自增,自增到 0xFFFFFFFF 以后溢出,重新从 0 开始计数

本文介绍了GPT定时器的功能,包括计数器、输入捕获和输出比较。在计数器部分,详细阐述了如何配置时钟源和分频数。输入捕获和输出比较则涉及中断机制,其中输出比较有Restart和Free-Run两种工作模式。文章还解析了相关寄存器的用途,如GPTx_CR用于控制定时器,GPTx_PR设置分频,GPTx_SR记录中断状态,GPTx_IR管理中断使能,GPTx_OCRn存储比较值,GPTx_ICRn捕获计数值,以及GPTx_CNT记录当前计数值。
最低0.47元/天 解锁文章
1085

被折叠的 条评论
为什么被折叠?



