Cortex-M3系统节拍定时器详解-LPC1700寄存器配置
需积分: 32 66 浏览量
更新于2024-08-10
收藏 9.83MB PDF 举报
"深入浅出 Cortex-M3"
本文主要介绍了Cortex-M3处理器内核中的一个关键组件——系统节拍定时器(System Tick Timer),以及其在LPC1700系列微控制器中的实现和应用。系统节拍定时器主要用于操作系统和其他系统管理软件,提供10毫秒的中断间隔,有助于软件的移植性和实时性。
系统节拍定时器具有以下特点:
1. 它提供10毫秒的时间间隔中断。
2. 有专门的异常向量,使得处理中断更为高效。
3. 可以由CPU内部时钟信号驱动,也可以通过外部引脚STCLK输入时钟信号。
系统节拍定时器的寄存器映射如下:
1. STCTRL(系统定时器控制和状态寄存器):地址0xE000 E010,用于控制和查看定时器的状态。其中:
- ENABLE位(0):当置为1时,计数器启动;置为0时,计数器停止。
- TICKINT位(1):设置为1时,启用系统节拍中断;设置为0时,中断被禁止。
- CLKSOURCE位(2):1表示使用CPU时钟,0表示使用外部时钟引脚STCLK。
- COUNTFLAG位(16):当计数器达到0时被置位,读取该寄存器会清除标志。
2. STRELOAD(系统定时器重载值寄存器):地址0xE000 E014,用于设定计数器达到0后重新加载的值。初始化时,软件可以设定此值。如果需要,可以从STCALIB寄存器读取合适的值作为重载值。
系统节拍定时器的操作通常包括:
1. 初始化:配置STCTRL寄存器,设置时钟源、使能计数器及中断。
2. 设置重载值:通过STRELOAD寄存器设置计数器溢出时重新加载的值。
3. 中断处理:当COUNTFLAG标志被置位时,表明计数器已达到0,此时可以执行中断服务程序。
此外,该资料还涵盖了其他功能部件,如脉冲宽度调制器(PWM)、电机控制PWM(MCPWM)、正交编码接口(QEI)、实时时钟(RTC)和A/D转换器(ADC)等,但详细内容未在摘要中列出。这些部件对于嵌入式系统的实时控制、电机驱动、位置检测、时间管理和模拟信号数字化等方面都有重要作用。了解并熟练掌握这些功能部件的使用,对开发基于Cortex-M3的嵌入式系统至关重要。
2007-11-06 上传
2024-09-10 上传
2024-09-10 上传
2024-09-10 上传
2024-09-10 上传
2024-09-10 上传
2024-09-10 上传
![](https://profile-avatar.csdnimg.cn/f1f6313ac57c47ee9856a291c524e4c0_weixin_26765287.jpg!1)
MichaelTu
- 粉丝: 25
- 资源: 4122
最新资源
- 解决本地连接丢失无法上网的问题
- BIOS报警声音解析:故障原因与解决方法
- 广义均值移动跟踪算法在视频目标跟踪中的应用研究
- C++Builder快捷键大全:高效编程的秘密武器
- 网页制作入门:常用代码详解
- TX2440A开发板网络远程监控系统移植教程:易搭建与通用解决方案
- WebLogic10虚拟内存配置详解与优化技巧
- C#网络编程深度解析:Socket基础与应用
- 掌握Struts1:Java MVC轻量级框架详解
- 20个必备CSS代码段提升Web开发效率
- CSS样式大全:字体、文本、列表样式详解
- Proteus元件库大全:从基础到高级组件
- 74HC08芯片:高速CMOS四输入与门详细资料
- C#获取当前路径的多种方法详解
- 修复MySQL乱码问题:设置字符集为GB2312
- C语言的诞生与演进:从汇编到系统编程的革命