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 ...
随机推荐
- php fsockopen
1.PHP fsockopen函数说明: Open Internet or Unix domain socket connection(打开套接字链接) Initiates a socket conn ...
- java内部类继承--构造函数传参
/: innerclasses/InheritInner.java // Inheriting an inner class. class WithInner { class Inner {} } / ...
- HDU 4460 Friend Chains(map + spfa)
Friend Chains Time Limit : 2000/1000ms (Java/Other) Memory Limit : 32768/32768K (Java/Other) Total ...
- 转:Selenium中的几种等待方式,需特别注意implicitlyWait的用法
最近在项目过程中使用selenium 判断元素是否存在的时候 遇到一个很坑爹的问题, 用以下方法执行的时候每次都会等待很长一段时间,原因是因为对selenium实现方法了解不足导致一直找不到解决方法. ...
- PHP的json_encode中文被转码的问题
在php5.2中做json_encode的时候.中文会被unicode编码, php5.3加入了options参数, 5.4以后才加入JSON_UNESCAPED_UNICODE,这个参数,不需要做e ...
- 12C 连接方式和 Oracle Easy Connect Naming method
1.12C 连接方式 PDB is not an instance, so using SID in the connection string will not work. When the dat ...
- 2016沈阳网络赛 odd-even number
odd-even number Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) ...
- Eclipse/MyEclipse 最最常用的快捷键
F 键类 F2 显示详细信息 F3 跳到声明或定义的地方 Ctrl + 键类 Ctrl+1 快速修复 ( 最经典的快捷键 , 就不用多说了 ) Ctrl+D 删除当前行 Ctrl+E 快速显示当前 E ...
- HDU 1887 Weird Numbers(负数的进制转化)
题目要求有两种情况,第一种from情况,正常输出即可,很简单.第二种是to情况,给一个数字,输出负进制R的原码,这个有点小麻烦...解决方法如下; 首先,把这个数n按正常方式展开,形式如下: .... ...
- Swift 开发中Alamofire的使用
Swift 开发中Alamofire的使用 Alamofire需要解决的6个问题 1.Json解析 2.下载和上传 4.全局401错误 5.网络图片