I.MX6U 学习笔记十------GPT定时器高精度延时实验

GPT定时器简介

空指令实现的延时函数修改主频以后就不准确了,需要一个不跟着主频变化的延时函数,我们通过6U的一个硬件定时器来实现精确延时,最低15-20us高精度延时。
我们使用6U的GPT定时器来实现高精度延时。
GPT定时器是32位向上计数器,可以通过提供的两个外部引脚来捕获外部信号。还有三路比较输出和中断功能。GPT定时器有一个12位的分频器,时钟源可以选择, 我们使用ipg_clk = 66MHz。
GPT定时器有两种工作模式,restart 和 freerun
restart模式下,定时器计数值和比较寄存器OCR的值相等的话,定时器就会重新开始从0开始计时。只有比较通道一才有此功能。
freerun所有三个输出比较通道都适用。从0开始一直加到0xFFFFFFFF,然后重新开始,周而复始。
GPT_CR寄存器:控制寄存器,bit0为使能位,bit1确定定时器计数器的初始值,为1计数值为0。bit6-8为时钟源选择,设置为1,表示GPT时钟源为ipg_clk。
bit9设置GPT定时器中断模式,为0工作在restart模式,为1工作在free-run模式。bit15软复位,为1复位状态。

GPT_PR:设置分频值
GPT_SR:中断状态寄存器,bit5表示产生溢出,bit4-3分别为输入通道2-1的捕获中断标志位。bit2-0也就是OF3-OF1为比较中断。
CPT_IR:中断使能寄存器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值