【裸机开发】GPT 定时器(一) —— GPT的功能、寄存器解析

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

后续需要使用 GPT 计数器实现中断以及延时,这里我们需要先了解一下GPT的功能以及相关寄存器。


目录

一、GPT 定时器的功能

1、计数器

2、输入捕获

3、输出比较(GPT的两种工作模式)

二、寄存器解析

1、GPTx_CR

2、GPTx_PR

3、GPTx_SR

4、GPTx_IR

5、GPTx_OCRn

6、GPTx_ICRn

7、GPTx_CNT


一、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 开始计数

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值