LPC1788定时器使用
#ifndef __TIM_H_
#define __TIM_H_
#include "common.h"
extern u8 tim1_mr0_flag;
void tim0_ch0_count_int_init(u32 pr,u32 count);//定时器0 通道0 计数模式 中断模式 初始化
#endif
#include "tim.h"
u8 tim1_mr0_flag = 0;
void tim0_ch0_count_int_init(u32 pr,u32 count) //定时器0 通道0 计数模式 中断模式 初始化
{
//打开TIM0时钟
LPC_SC->PCONP |= (1<<1);//打开时钟
LPC_TIM0->TCR |= (1<<1);//复位定时器 因为此处复位了寄存器,所以系统中使用多个定时器通道的时候这一位一定要改
LPC_TIM0->TCR = 0x00;//禁止定时器 退出复位
LPC_TIM0->PR = pr;//设置预分频值
LPC_TIM0->MR0 = count;//预设计数值
LPC_TIM0->MCR |= (1<<1)|(1<<0);//mr0 匹配时复位 并且中断打开
LPC_TIM0->CTCR &= ~(3<<0);//工作在计数模式
//此时,需要配置中断
NVIC_SetPriority(TIMER0_IRQn,NVIC_EncodePriority(PriorityGroup2,TIM0_PreemptPriority,TIM0_SubPriority));
LPC_TIM0->IR |= (1<<0);//清除中断
NVIC_ClearPendingIRQ(TIMER0_IRQn);//清除中断
NVIC_EnableIRQ(TIMER0_IRQn);//打开中断通道
//打开定时器
LPC_TIM0->TCR |= (1<<0);
}
void TIMER0_IRQHandler(void)
{
if((LPC_TIM0->IR & 0x01))//如果是通道1发生中断
{
LPC_TIM0->IR |= (1<<0);//清除中断
NVIC_ClearPendingIRQ(TIMER0_IRQn);//清除中断
tim1_mr0_flag = 1;
}
else
{
//现在还没做其他的通道的中断
LPC_TIM0->IR = 0xff;//清除中断
NVIC_ClearPendingIRQ(TIMER0_IRQn);//清除中断
}
}
LPC1788定时器使用的更多相关文章
- Objective-C三种定时器CADisplayLink / NSTimer / GCD的使用
OC中的三种定时器:CADisplayLink.NSTimer.GCD 我们先来看看CADiskplayLink, 点进头文件里面看看, 用注释来说明下 @interface CADisplayLin ...
- 微信小程序中利用时间选择器和js无计算实现定时器(将字符串或秒数转换成倒计时)
转载注明出处 改成了一个单独的js文件,并修改代码增加了通用性,点击这里查看 今天写小程序,有一个需求就是用户选择时间,然后我这边就要开始倒计时. 因为小程序的限制,所以直接选用时间选择器作为选择定时 ...
- [Java定时器]用Spring Task实现一个简单的定时器.
今天做一个项目的的时候需要用到定时器功能.具体需求是: 每个月一号触发一次某个类中的方法去拉取别人的接口获取上一个月份车险过期的用户.如若转载请附上原文链接:http://www.cnblogs.co ...
- Node+fs+定时器(node-schedule)+MySql
目标:将本人写博客时候的截图保存到桌面的图片 执行保存到指定文件进行整理 并写入数据库 先看最终的目录结构: package.json文件: { "name": "zqz ...
- 深入理解定时器系列第一篇——理解setTimeout和setInterval
× 目录 [1]setTimeout [2]setInterval [3]运行机制[4]作用[5]应用 前面的话 很长时间以来,定时器一直是javascript动画的核心技术.但是,关于定时器,人们通 ...
- 前端开发:setTimeout与setInterval 定时器与异步循环数组
前端开发:setTimeout与setInterval 定时器与异步循环数组 前言: 开通博客园三个月以来,随笔记录了工作中遇到的大大小小的难题,也看过无数篇令人启发的文章,我觉得这样的环境是极好的, ...
- 转载---javascript 定时器总结
转载:http://www.jb51.net/article/40193.htm JS里设定延时: 使用SetInterval和设定延时函数setTimeout 很类似.setTimeout 运用在延 ...
- Node中的定时器详解
在大多数的业务中,我们都会有一些需求,例如几秒钟实现网页的跳转,几分钟对于后台数据进行清理,node与javascript都具有将代码延迟一段时间的能力.在node中可以使用三种方式实现定时功能:超时 ...
- spring定时器,定时器一次执行两次的问题
Spring 定时器 方法一:注解形式 配置文件头加上如下: xmlns:task="http://www.springframework.org/schema/task" htt ...
随机推荐
- UVA 10308 Roads in the North
input u1 v1 w1 u2 v2 w2 ... un vn wn 1<=vi,ui<=n+1 /n output 距离最远的两个点的距离 做法:一颗全连通且只有一条路从一个顶点到达 ...
- c++内存流
1.MemoryStream.h文件内容 ifndef _MEM_STREAM_H_ #define _MEM_STREAM_H_ #include <string> class CMem ...
- Lucene入门教程(转载)
http://blog.csdn.net/tianlincao/article/details/6867127 Lucene教程 1 lucene简介 1.1 什么是lucene Lucene ...
- hdu Eddy's picture (最小生成树)
Eddy's picture Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Tota ...
- HDU1372:Knight Moves(BFS)
Knight Moves Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total ...
- socket常见几种异常
第1个异常是 java.net.BindException:Address already in use: JVM_Bind. 该异常发生在服务器端进行newServerSocket(port)(po ...
- Swift学习(1)
swif(1) println("Hello, world") 输出结果: Hello, world swift使用let来声明常量,使用var来声明变量 //变量 var myV ...
- UVALive 6885 Flowery Trails
两次SPFA #include<cstdio> #include<cstring> #include<cmath> #include<vector> # ...
- 清北学堂入学测试P4751 H’s problem(h)
P4751 H’s problem(h) 时间: 1000ms / 空间: 655360KiB / Java类名: Main 背景 冬令营入学测试 描述 小H是一个喜欢逛街的女孩子,但是由于上了大学 ...
- qt博客
http://blog.csdn.net/foruok/article/category/418962/1