lpc1768的rit使用
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使用的更多相关文章
- LPC1768\1769之中断优先级与中断优先级组
一.背景 USB在持续通信几十万次后,会出现USB IN中断丢失几次的情况,分析是中断优先级不够高,导 致USB中断在排队,然而排队还未完成,又有新的USB中断发生,致使其中断丢失.LPC1769的所 ...
- LPC1768/1769之CAN控制器概述(附库函数下载地址)
一.背景: 使用LPC1769来做CAN的收发,在此对使用LPC1769的CAN控制器进行收发做个总结和记录,以备下 次开发快速上手使用. 附:LPC1768/1769除了支持最高频率不同以外,其它基 ...
- LPC1768的usb使用--硬件篇
LPC1768芯片带有USB设备控制器,前面写的文章都是在说比较简单的设备驱动,今天来说复杂一点的 首先是硬件层的配置 #ifndef __USBHW_H__ #define __USBHW_H__ ...
- LPC1768的IIS通讯
IIS是飞利浦公司定义的一种用于音频传输的数字总线,LPC1768支持该总线, I2S接口为一条3线串行总线,含有1根数据线.1根时钟线和1根字选择信号线.基本的I2S连接具有一个主机(其总是为主机) ...
- LPC1768的iic通讯
LPC1768有三路IIC,其中IIC0支持高速模式和plus模式,另外两路是普通IIC,使用IIC的过程如下 首先依然是打开IIC时钟,同时打开GPIO时钟 然后配置引脚为IIC功能 另外,因为ii ...
- LPC1768串口使用
Lpc1768内置了四个串口通讯模块,都是异步通讯模块,其中,串口0/2/3是普通串口通讯,串口1与 UART0/2/3 基本相同,只是增加了一个 Modem 接口和 RS-486/EIA-486 模 ...
- LPC1768外部中断与GPIO中断
LPC1768的外部中断严格来说只有四个,分别是EINT0,EINT1,EINT2,EINT3,技术手册上有如下说明 控制这四个外部中断靠以下寄存器 这三个寄存器的0 1 2 3位分别代表中断的0 1 ...
- LPC1768基本输入输出GPIO使用
LPC1788通用IO口的控制包含了一些基本的组件,比如设置推挽输出,开漏输出,上拉电阻等,我们今天来看看. 首先使用GPIO要打开GPIO的系统时钟 LPC_SC->PCONP |= (1 ...
- Hbase合并Region的过程中出现永久RIT的解决
在合并Region的过程中出现永久RIT怎么办?笔者在生产环境中就遇到过这种情况,在批量合并Region的过程中,出现了永久MERGING_NEW的情况,虽然这种情况不会影响现有集群的正常的服务能力, ...
随机推荐
- Local declaration of 'XXX' hides instance variable
今天调试程序遇到这么一个警告! Local declaration of 'XXX' hides instance variable 遇到这种原因,是因为本地变量跟函数参数变量同名.改变其一即可.
- div.2/Bellovin<最长上升子序列>
题意: 序列arr[i--n];输出以a[i]为结尾的最长上升子序列.1<=n<=100000; 思路: O(n*log(n)),求最长上升子序列. #include<cstdio& ...
- DHCP详细工作过程(转)
DHCP客户端通过和DHCP服务器的交互通讯以获得IP地址租约.为了从DHCP服务器获得一个IP地址,在标准情况下DHCP客户端和DHCP服务器之间会进行四次通讯.DHCP协议通讯使用端口UDP 67 ...
- AndroidStudio使用注意事项
今天在引入GitHUb上的开源框架时,写好依赖后编译时,报以下错误: Error:Execution failed for task ':app:processDebugResources'.> ...
- XML回顾
xml加强 一.sax解析 1)原理: 读取xml的某个部分,解析一部分(读取一点,解析一点) 2)步骤: SAXParserFactory factory = SAXPa ...
- springmvc传递json数据到前台显示
需要两个包 jackson-core-asl, jackson-mapper-asl controller @RequestMapping(value="/findEduList" ...
- JSP内置对象---总结
request: javax.servlet.http.HttpServletRequest的接口实例 1. setCharacterEncoding("GBK"):防乱码2. ...
- 加密Web.Config配置文件
protected void btnPassWord_Click(object sender, EventArgs e) { //加密 Configuration config = WebConfig ...
- 利用XShell 上传和下载文件
原文:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=28977986&id=4292781 借助XShell,使用li ...
- Mac 下面,添加android adb命令(一般环境变量的添加方法)
1. 在 用户目录下 ~/.bash_profile vim ~/.bash_profile 2.加入我们需要添加的环境变量,这里是 添加 android platform-tools 和 ...