LPC1114/LPC11U14和LPC1343对比学习(三)SysTick

发布者:祝福的4号最新更新时间:2015-09-09 来源: eefocus关键字:LPC1114  LPC11U14  LPC1343  SysTick 手机看文章 扫描二维码
随时随地手机看文章
从Cortex开始ARM公司在内核中添加SysTick,为系统运行提供了便捷。通过学习这三种处理器的结构和寄存器可知,这三种SysTick的结构和寄存器都是一样的完全兼容,SysTick的结构如下:
LPC1114/LPC11U14和LPC1343对比学习-SysTick

SysTick 寄存器如下:
LPC1114/LPC11U14和LPC1343对比学习-SysTick

对于SysTick的控制有两种方法,由于SysTick是内核的一部分,所以在ARM公司推出的Cmsis文件中已经提供了对SysTick控制的API函数。为了方便可以直接调用此函数;当然我们也可以直接控制寄存器,两种控制的代码如下:

LPC1114/LPC11U14和LPC1343对比学习-SysTick

通过上面的初始化SysTickInit()函数后,24位的SysTick定时时间到后,就会跳转到SysTick中断服务函数。我们只有通过计数器判断次数就可以实现精确延时了。

LPC1114/LPC11U14和LPC1343对比学习-SysTick

实现精确延时:

LPC1114/LPC11U14和LPC1343对比学习-SysTick
 

关键字:LPC1114  LPC11U14  LPC1343  SysTick 引用地址:LPC1114/LPC11U14和LPC1343对比学习(三)SysTick

上一篇:LPC1114/LPC11U14和LPC1343对比学习(五)UART
下一篇:LPC1114/LPC11U14和LPC1343对比学习(二)GPIO

推荐阅读最新更新时间:2024-03-16 14:30

STM32之SysTick
STM32单片机是以Cortex-M3为内核的 以用Cortex-M3中关于SysTick的描述: SysTick定时器被捆绑在NVIC中,用于产生SysTick异常(异常号:15)。在以前,操作系统还有所有使用了时基的系统,都必须一个硬件定时器来产生需要的“滴答”中断,作为整个系统的时基。滴答中断对操作系统尤其重要。例如,操作系统可以为多个任务许以不同数目的时间片,确保没有一个任务能霸占系统;或者把每个定时器周期的某个时间范围赐予特定的任务等,还有操作系统提供的各种定时功能,都与这个滴答定时器有关。因此,需要一个定时器来产生周期性的中断,而且最好还让用户程序不能随意访问它的寄存器,以维持操作系统“心跳”的节律。 Co
[单片机]
STM32之<font color='red'>SysTick</font>
STM32 SysTick定时器和delay延迟函数
一,什么是Systick定时器   Systick定时器也叫滴答定时器,是内核级别的24位倒计数简单定时器,常用做延迟和系统心跳时钟(如:UCOS)   优点:节省MCU资源,不需要浪费一个定时器,只要不清除Systick使能位,就不会停止,即使在睡眠模式下也能工作   捆绑在NVIC中断优先级管理,能产生Systick异常(中断),可设置中断优先级 二,Systick相关寄存器   CTRL: Systick控制和状态寄存器   LOAD: Systick重装载寄存器   VAL: Systick当前值寄存器   CALIB: Systick校准值寄存器   定时器工作方式:   每经过一个Systick时钟周期,VAL寄存
[单片机]
STM32 <font color='red'>SysTick</font>定时器和delay延迟函数
LPC1114采集温度传感器DS18B20程序
Temperature.h文件 #ifndef _TEMPERATURE_H_ #define _TEMPERATURE_H_ #include lpc11xx.h #define DQ_H (LPC_GPIO0- DATA |= (1 2)) #define DQ_L (LPC_GPIO0- DATA &=~(1 2)) #define DQ_IN (LPC_GPIO0- DIR&=~(1 2)) #define DQ_OUT (LPC_GPIO0- DIR|=(1 2)) #define DQ_DATE ((LPC_GPIO0- DATA&0x4) 2^1) //DS18B20 ROM 命令宏定义 #def
[单片机]
STM32之SysTick(系统定时器)
SysTick定时器是被捆绑在NVIC中的,用于产生SysTick异常(异常号是15)。(同样,玩过51单片机的都知道定时器的作用了) 在STM32在内核部分是包含了一个简单的定时器–SysTick timer。因为在所有的Cortex-M3芯片上都有这个定时器,所以软件在不同芯片生产厂商的Cortex-M3器件间的一只工作就得以化简。 该定时器的时钟源可以是内部时钟( FCLK, CM3 上的自由运行时钟),或者是外部时钟(CM3 处理器上的 STCLK 信号)。不过, STCLK 的具体来源则由芯片设计者决定,因此不同产品之间的时钟频率可 能会大不相同。因此,需要阅读芯片的使用手册来确定选择什么作为时钟源。 *(在 STM32
[单片机]
LPC1114/LPC11U14LPC1343对比学习(六)I2C
这三种芯片在I2C总线方面是基本一致的,但是LPC11U14的I2C管脚功能要强大一些增加了真正的开漏设置功能。它们的特点大致如下: 由于I2C管脚是开漏输入,所以需要外接上拉电阻才能输出高电平,所以在使用这两个管脚作为GPIO时也需要接上拉电阻。总线配置如: 需要注意的是上来电阻与总线速度成反比,需要根据具体情况设定。 寄存器和结构在这里就不介绍了,网友可以自行查阅手册,下面是I2C的初始化函数: I2C的控制函数比较多,这里就不一一介绍了,需要注意的是在使用I2C写EEPROM时,要延时毫秒级,否则可能会不成功;在按页写输入时,需要注意也大小和页地址。
[单片机]
<font color='red'>LPC1114</font>/<font color='red'>LPC11U14</font>和<font color='red'>LPC1343</font>对比学习(六)I2C
STM32 SysTick 精确延时(非中断方式)
SysTick是Cortex-M内核自带的一个24位定时器,所以我们可以在core_cm3.h或core_cm4.h头文件中看到它的寄存器定义和配置函数SysTick_Config()。SysTick的功能非常简单,仅仅提供一个时基功能,支持中断请求,因此它的寄存器寥寥无几。 以下是手册上对SysTick寄存器的介绍: CTRL为控制寄存器: ENABLE:使能位 TICKINT: 中断的开关,当计数溢出且TICKINT=1时SysTick将发出中断申请。 CLKSOURCE:时钟选择位,CLKSOURCE=1时选择系统时钟,如果是M3则为72MHz,M4则为168MHz。否侧选择外部时钟作为时钟源。 COUNTF
[单片机]
LPC1114/LPC11U14LPC1343对比学习(八)USB
这3种芯片的功能非常多,到此基本上我们已经介绍完成,只有AD、WDT等没有介绍,鉴于其难度不大这方面的内容就不再说明。下面将进行终极篇的学习----USB学习,由于USB难度非常大,这一贴可能会编写很长时间,这里将主要学习HID的应用。 LPC1114没有USB功能,所以这里只能针对LPC1343和LPC11U14进行说明。对于这两种有USB功能的芯片其还是区 别,LPC1343内部集成了USB驱动,而LPC11U14没有此功能,所以LPC1343USB开发比较简单一点,价格也要贵一点。为了编写出通用的 USB驱动代码,这里将先对LPC11U14 USB进行学习,之后在移植到LPC1343。 鉴于USB开发难度,这里将不会从零开
[单片机]
<font color='red'>LPC1114</font>/<font color='red'>LPC11U14</font>和<font color='red'>LPC1343</font>对比学习(八)USB
STM32学习手记⑤-SysTick精确延时
/*********************************************************** 例程名称:SysTick实验 硬件连接:指示灯连接 PE0 功能描述:每秒PEO翻转一次 */ #include stm32f10x_lib.h extern vu32 TimingDelay; //在本文件引用stm32f10x_it.c定义的精确计时变量 /************************************************************ * 函数名称 :void RCC_Configuration() * 功能描述 : 复位和时钟控制 配置 * 参数
[单片机]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved