登录注册
论坛
裸片初长成(初级)
4996
19
从Cortex开始ARM公司在内核中添加SysTick,为系统运行提供了便捷。通过学习这三种处理器的结构和寄存器可知,这三种SysTick的结构和寄存器都是一样的完全兼容,SysTick的结构如下:
1.jpg (25.26 KB, 下载次数: 4) 下载附件 保存到相册 2011-8-15 20:15 上传
1.jpg (25.26 KB, 下载次数: 4)
下载附件 保存到相册
2011-8-15 20:15 上传
扫一扫,分享给好友
SysTick 寄存器如下:
2.jpg (58.46 KB, 下载次数: 4) 下载附件 保存到相册 2011-8-15 20:17 上传
2.jpg (58.46 KB, 下载次数: 4)
2011-8-15 20:17 上传
对于SysTick的控制有两种方法,由于SysTick是内核的一部分,所以在ARM公司推出的Cmsis文件中已经提供了对SysTick控制的API函数。为了方便可以直接调用此函数;当然我们也可以直接控制寄存器,两种控制的代码如下:
3.jpg (37.83 KB, 下载次数: 4) 下载附件 保存到相册 2011-8-15 20:27 上传
3.jpg (37.83 KB, 下载次数: 4)
2011-8-15 20:27 上传
通过上面的初始化SysTickInit()函数后,24位的SysTick定时时间到后,就会跳转到SysTick中断服务函数。我们只有通过计数器判断次数就可以实现精确延时了。
1.jpg (23.5 KB, 下载次数: 4) 下载附件 保存到相册 2011-8-15 20:36 上传
1.jpg (23.5 KB, 下载次数: 4)
2011-8-15 20:36 上传
实现精确延时:
2.jpg (42.53 KB, 下载次数: 4) 下载附件 保存到相册 2011-8-15 20:37 上传
2.jpg (42.53 KB, 下载次数: 4)
2011-8-15 20:37 上传
一粒金砂(中级)
113
0
一粒金砂(初级)
17
发表回复 回帖后跳转到最后一页
曾经的版主且威望大于2000,或对EEWORLD论坛有突出贡献的坛友
EEWorld Datasheet 技术支持
查看 »