嵌入式Linux学习记录之定时器

记录一下2020未来的广交大的Linux学习过程--简化笔记

EPIT普通定时器

1、EPIT是32位的一个向下减一的计数器,不能输入捕获或pwm。
2、EPIT时钟源可以选择,ipg_clk=66Mhz
3、可以对时钟源进行分频,12位的分频器,0~4095代表1~4096分频
4、开启定时器后,计数寄存器会每个时钟减1,如果和比较寄存器的值相等时触发中断
    EPIT有2种工作模式:
   set-and-forget  模式、free-running  模式
5、6ULL有两个EPIT定时器。
    
     EPIT_CR寄存器用于配置EPIT    P1563
      
二、实验原理简介
     EPIT_CR  bit0为1,设置EPIT使能。bit1为1,设置计数器的初始值为加载寄存器的值,bit2为1使能比较中断。bit3为1设置工作在set-and-forget模式下。bit15-14设置分频值。bit16软复位。bit24-25设置时钟源,设置为1,时钟源为ipg_clk=66Mhz,外设时钟66Mhz。
    EPIT_SR寄存器,只有bit0有效,表示中断状态,写1表示中断发送,为0中断未发生,中断产生后要清除标志位。 
    EPIT_LR寄存器设置计数器的加载值,计数器每次计时到0以后就会读取LR寄存器的值重新开始计时。
    CMPR比较计数器,当计数器的值和CMPR相等后就产生比较中断

 

GPT定时器

    GPT是一个32位向上计数的计数器 
    上升或下降沿捕获
    支持输出或中断功能
    12位的分频器

    使用ipg_clk=66Mhz时钟源

    GPT定时器有两种工作模式:restart 和free-run
    Restart模式下:定时器计数值和比较寄存器OCR的值相等的话定时器就会重新从0开始计时。注意!只有比较通道1才有此功能。
    Free-run模式:所有3个输出比较通道都适用,从0开始一直加到0xffffffff,周而复始。

    GPT_CR寄存器,bit0位GPT使能位,为0时关闭GPT,为1时使能GPT。
  bit1确定GPT定时器计数器的初始值,为0表示默认上次关闭的值,为1从0开始向上计数。
  bit6~8 设置为1 时钟源为ipg-clk=66Mhz。
  bit9设置GPT定时器工作模式,为0工作在restart,为1工作在free-run.
  bit15软件复位。
 
  GPT_PR寄存器的bit11~0为分频值。可设置0~4095,表示1~4096分频。

  GPT_SR(状态)寄存器,bit5表示溢出发送,bit4和3分别为输入通道2和1的捕获中断标志位。bit2~0也即是OF1~3为比较中断。

  GPT_IR寄存器,就是中断使能寄存器。bit5中断溢出使能,bit4和3分别为输入2通道2和1的捕获中断使能位。bit2~0为通道3~1的中断比较使能位

   GPT1_OCR1寄存器设置输出比较中断值
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值