LPC1768 Timer0详细Demo使用示例
设计要求: 设计一个基于Timer0,要求1ms定时中断?
答: 代码如下(开发环境:路虎NPC1768开发板)
/* Include files */
/* <<add include files here>> */
#include "lpc17xx_libcfg.h"
#include "lpc17xx.h"/* Add Private Types */
/* <<add private type here >> */#define CCLK 100000000
#define PCLK0 CCLK/4/* Add Private Variables */
/* <<add private variables here >> *//* Add Private Functions */
/* <<add private functions here >> */void Init_Timer0(void)
{LPC_TIM0->CTCR=0; //定时器模式LPC_TIM0->PR=0;LPC_TIM0->PC=0;LPC_TIM0->TC=0; //计数寄存器清零LPC_TIM0->MR0=PCLK0/1000-1;LPC_TIM0->MCR=0x03; //匹配后产生中断和复位TCLPC_TIM0->TCR=1; //启动定时器0NVIC_EnableIRQ(TIMER0_IRQn);
}/*** @brief Main program body*/
int c_entry(void)
{/* <<add code here >> */LPC_GPIO2->FIODIR = 0xff; /* LEDs PORT2 are Output */LPC_GPIO2->FIOPIN = 0x00;Init_Timer0();while(1);return 1;
}void TIMER0_IRQHandler(void)
{LPC_TIM0->IR |= 1; //清除MR0LPC_GPIO2->FIOPIN ^= (1<<0);__NOP();
}/* Support required entry point for other toolchain */
int main (void)
{return c_entry();
}
程序点拨: 第一次玩NPC单片机的,或者说之前玩的是STM32, 可能对定时器里的PR和PC这两个寄存器有点蒙,它们的默认值是0,
说简单点,PR是对PCLK进一步分配,PC值计数,计数到跟PR值相等的时候TC值才加1,可以将PR理解成Timerx的预分频寄存器;
初始化时候PC保持默认值0就可以了。
还有一点需要注意下:
CPU主频默认是100MHz,外设主频默认是四分之一CCLK!!!
看下面的截图就知道上面各个模块的当前频率值了:
LPC1768 Timer0详细Demo使用示例相关推荐
- vue form validate 多个input_Vue表单校验插件Vuerify使用详细教程及示例
点击右上方红色按钮关注"web秀",让你真正秀起来 前言 表单校验,在开发中是非常常见的,为了防止用户误操作,填写错误数据,亦或是防止用户恶意提交数据等,都需要前端同学来做一些简单 ...
- 【自然框架】元数据的数据库结构的详细说明和示例(三):项目与数据库字段的关联...
[自然框架]PowerDesigner 格式的元数据的表结构 [自然框架]元数据的数据库结构的详细说明和示例(一):项目描述部分 [自然框架]元数据的数据库结构的详细说明和示例(二):数据库描述部分 ...
- set在python中的用法_python中set的用法:详细源码示例
这篇文章主要为大家详细介绍了python中set的用法:详细源码示例,具有一定的参考价值,可以用来参考一下. set函数基本用法感兴趣的小伙伴,下面一起跟随512笔记的小编罗X来看看吧. python ...
- mysql创建表分区详细介绍及示例
mysql创建表分区详细介绍及示例 1. 基本概念 1.1 什么是表分区? 1.2 表分区与分表的区别 1.3 表分区有什么好处? 1.4 分区表的限制因素 2. 如何判断当前MySQL是否支持分区? ...
- 6、Druid的Roll up详细介绍及示例
Apache Druid 系列文章 1.Druid(Imply-3.0.4)介绍及部署(centos6.10).验证 2.Druid的入门示例(使用三种不同的方式摄入数据和提交任务) 3.Druid的 ...
- 一封传话聚合推送各语言demo代码示例
一封传话聚合推送各语言demo代码示例 前言 查看一封传话的API文档的GET请求只需一行代码,在url上拼接head和body参数即可完成推送.这里针对body数据量较大的情况,给出各语言实现的de ...
- SpringBoot教程(6) @Conditional 详细讲解和示例
@Conditional 详细讲解和示例 一.@Conditional简介 二.示例:加载2个Bean 1. 定义Person类 2. 利用@Configuration + @Bean加载2个Bean ...
- 【Proteus仿真】STC15单片机+LCD1602驱动显示时间(DEMO)示例
[Proteus仿真]STC15单片机+LCD1602驱动显示时间(DEMO)示例 Proteus仿真 Proteus加载 STC15单片机说明 在Proteus里面唯一能找到的 STC15一款支持仿 ...
- 【SAP Abap】SAP ALV开发(REUSE_ALV_GRID_DISPLAY_LVC)全网最详细 DEMO
SAP ALV开发(REUSE_ALV_GRID_DISPLAY_LVC)全网最详细 DEMO 1.ALV 简介 2.演示程序 1.ALV 简介 ALV 报表程序,是我们在 SAP 项目中最常开发的程 ...
最新文章
- 1200亿次日均位置服务响应、20亿公里日均轨迹里程,百度地图发布新一代人工智能地图生态全景
- 这款NLP神器火了!关键词一键提取、结果高度可视化,堪称「小白进阶大神」的实用工具包 | 开源...
- 访问远程数据库,把远程数据库当做本地库来用
- pycharm python3区别_1.安装Python3和PyCharm
- GraphQL一些hello world级别的例子
- python验证码 识别代码不准_谈谈Python进行验证码识别的一些想法
- [css] 怎么IE6下在使用margin:0 auto;无法使其居中?
- 有了门面,程序会更加体面!- pos软件基于三层架构 -09
- php调取 zabbix实时数据_Zabbix监控系统部署详细步骤
- 关于快逸报表超链接的使用方式。
- UTF-8 without BOM
- 安装orbslam2
- uni-app小程序如何自定义标题内容(如何解决小程序标题不居中)
- excel显著性检验_使用Excel2016比较两组数据显著性差异
- 伊利洛伊大学厄巴纳-香槟分校计算机专业,伊利诺伊大学厄巴纳香槟分校哪些专业比较好?...
- JavaScript重写alert方法
- qq消息定时自动发送的简单实现策略
- 数据源EPMSSqlDataSource的使用
- C++ Primer 读书笔记04
- DELL笔记本电源检测功率匹配、充不进电
热门文章
- leecode100题(自用)
- 加密朋克中隐藏的严重Bug
- 中国联通6G白皮书笔记
- 64位win7禁用驱动程序签名强制
- 高斯消元相关问题学习和模板整理
- 2020ICPC·小米 网络选拔赛热身赛 I-Integration
- 99%的人没弄懂volatile的设计原理,更别说灵活运用了
- Java 入门练习(6 - 10)
- Navicat首次连接MySQL8.0出现错误#1045 - Access denied for user ‘root‘@‘localhost‘(using password: YES)的解决办法
- 学python要有多少英语词汇量_北大保安小哥英语词汇量一万五,还有小哥会python!...