LPC1768在系统滴答定时器和通用定时器之外还引入了一个定时器,叫做重复定时器RIT,该定时器只能用于定时操作,带有一个中断,我个人的感觉,这似乎是为了延时函数设计的一个定时器

那么使用该定时器时遵循什么流程?

第一,打开时钟

第二,我们要确定定时器从pclk分频数值,这要靠另外一个寄存器

第三,先关闭定时器

第四 设置寄存器比较值

第五 清空或者屏蔽一些特定的比较屏蔽位

最后打开中断,启动定时器

#define RIT_INT_POSITION 0

#define RIT_ENCLR_POSITION  1

#define RIT_ENBR_POSITION 2

#define RIT_EN_POSITION  3

void RitInit(u32 count)

{

LPC_SC->PCONP |=(1<<16); //打开时钟   sys中四分频 25M

LPC_RIT->RICTRL &= ~(1<<3);

LPC_RIT->RICOMPVAL = count;

//  LPC_RIT->RIMASK = count;

LPC_RIT->RIMASK = 0x80000000;

LPC_RIT->RICOUNTER = 0;

NVIC_EnableIRQ(RIT_IRQn);              /* enable irq in nvic              */

LPC_RIT->RICTRL = (1<<RIT_INT_POSITION)|(1<<RIT_ENCLR_POSITION)|(1<<RIT_ENBR_POSITION)|(1<<RIT_EN_POSITION);

}

 

最后,我们需要在rit的中断函数中响应中断,如下

void RIT_IRQHandler()

{

u8 state = LPC_RIT->RICTRL;

if(state&0x01)  //有中断发生

{

RitStop();

LPC_RIT->RICOUNTER = 0;

LPC_RIT->RICTRL |= 0x01;    //清除中断

RIT_INT_CALLBACK;

RitStart();

}

}

lpc1768的rit使用的更多相关文章

  1. LPC1768\1769之中断优先级与中断优先级组

    一.背景 USB在持续通信几十万次后,会出现USB IN中断丢失几次的情况,分析是中断优先级不够高,导 致USB中断在排队,然而排队还未完成,又有新的USB中断发生,致使其中断丢失.LPC1769的所 ...

  2. LPC1768/1769之CAN控制器概述(附库函数下载地址)

    一.背景: 使用LPC1769来做CAN的收发,在此对使用LPC1769的CAN控制器进行收发做个总结和记录,以备下 次开发快速上手使用. 附:LPC1768/1769除了支持最高频率不同以外,其它基 ...

  3. LPC1768的usb使用--硬件篇

    LPC1768芯片带有USB设备控制器,前面写的文章都是在说比较简单的设备驱动,今天来说复杂一点的 首先是硬件层的配置 #ifndef __USBHW_H__ #define __USBHW_H__ ...

  4. LPC1768的IIS通讯

    IIS是飞利浦公司定义的一种用于音频传输的数字总线,LPC1768支持该总线, I2S接口为一条3线串行总线,含有1根数据线.1根时钟线和1根字选择信号线.基本的I2S连接具有一个主机(其总是为主机) ...

  5. LPC1768的iic通讯

    LPC1768有三路IIC,其中IIC0支持高速模式和plus模式,另外两路是普通IIC,使用IIC的过程如下 首先依然是打开IIC时钟,同时打开GPIO时钟 然后配置引脚为IIC功能 另外,因为ii ...

  6. LPC1768串口使用

    Lpc1768内置了四个串口通讯模块,都是异步通讯模块,其中,串口0/2/3是普通串口通讯,串口1与 UART0/2/3 基本相同,只是增加了一个 Modem 接口和 RS-486/EIA-486 模 ...

  7. LPC1768外部中断与GPIO中断

    LPC1768的外部中断严格来说只有四个,分别是EINT0,EINT1,EINT2,EINT3,技术手册上有如下说明 控制这四个外部中断靠以下寄存器 这三个寄存器的0 1 2 3位分别代表中断的0 1 ...

  8. LPC1768基本输入输出GPIO使用

    LPC1788通用IO口的控制包含了一些基本的组件,比如设置推挽输出,开漏输出,上拉电阻等,我们今天来看看. 首先使用GPIO要打开GPIO的系统时钟   LPC_SC->PCONP |= (1 ...

  9. Hbase合并Region的过程中出现永久RIT的解决

    在合并Region的过程中出现永久RIT怎么办?笔者在生产环境中就遇到过这种情况,在批量合并Region的过程中,出现了永久MERGING_NEW的情况,虽然这种情况不会影响现有集群的正常的服务能力, ...

随机推荐

  1. dirname(_file_) DIRECTORY_SEPARATOR

    <?php echo __FILE__ ; // 取得当前文件的绝对地址,结果:D:\www\test.php echo dirname(__FILE__); // 取得当前文件所在的绝对目录, ...

  2. Trie/Xor

    题目链接 /*有一个数组a1,a2,a3--an.找到一个连续子段[l,r],使得al ^ al+1 ^--^ ar达到最大. 一般思路:维护前缀异或+暴力: for(int i=1;i<=n; ...

  3. 解决 UNMOUNTABLE_BOOT_VOLUME 蓝屏【转载】

    现象:一台XP系统的机器,开机在滚动条阶段蓝屏,蓝屏代码大概是“UNMOUNTABLE_BOOT_VOLUME”. 用PE进系统后发现C盘的文件格式变为RAW,总容量等变为0 解决方法一:将故障机的硬 ...

  4. poj 2594 Treasure Exploration(最小路径覆盖,可重点)

    题意:选出最小路径覆盖图中所有点,路径可以交叉,也就是允许路径有重复的点. 分析:这个题的难点在于如何解决有重复点的问题-方法就是使用Floyd求闭包,就是把间接相连的点直接连上边,然后就是求最小路径 ...

  5. CodeForces 412D Giving Awards

    根据给出的条件建边,然后进行dfs 对于某个点x,当x的后继都遍历完毕后,再输出x节点. 这样能保证所有约束条件. #include<cstdio> #include<cstring ...

  6. Android中在布局中写ViewPager无法渲染出来的问题

    今天刚刚使用Android Studio,在写ViewPager时,首先按F4把Dependencies添加一个V4包,然后写ViewPager,如下: <android.support.v4. ...

  7. iptables详解--转

    出处:http://yijiu.blog.51cto.com/433846/1356254 iptables详解 基本概念: 1.防火墙工作在主机边缘:对于进出本网络或者本主机的数据报文,根据事先设定 ...

  8. Mysql 随机查询数据

    SELECT * FROM tablename ORDER BY RAND() LIMIT 10

  9. notify vs nofifyall

    http://stackoverflow.com/questions/37026/java-notify-vs-notifyall-all-over-again Do you want to tell ...

  10. netty最快?

    http://www.techempower.com/blog/2013/04/05/frameworks-round-2/