[STM32F2] 滴答时钟

[复制链接]
1287|16
 楼主| bbapple 发表于 2015-9-26 17:56 | 显示全部楼层 |阅读模式
相信不论是初学者还是高手,都会被STM32的滴答时钟所吸引。STM32有很多计数器,也有很多计数器中断。当别人还在用计数器做定时扫描的时候,我们就默默的开始了滴答时钟做扫描了。让他们去任意的浪费资源吧,我们节约资源,把计数器发挥更大的作用。
Systick定时器属于cortex内核部件,在芯片介绍的datasheet中没有提到过,可以参考
《CortexM3权威指南》或《STM32xxx-Cortex编程手册》。
另外要注意Systick是一个24位的定时器,即一次最多可以计数224个时钟脉冲,这个脉冲计数值被保存到当前计数值寄存器STK_VAL中,这个计数器只能向下计数,每接收到一个时钟脉冲STK_VAL的值就向下减1,直至0,当STK_VAL的值被减至0时,由硬件自动把重载寄存器STK_LOAD中保存的数据加载到STK_VAL,意思就是它会自动重装。当STK_VAL的值被倒计至0时,触发中断,就可以在中断服务函数中处理定时事件了。
布谷鸟2015 发表于 2015-9-26 19:06 | 显示全部楼层
要让Systick正常工作,必须要对Systick进行配置。
boy1990 发表于 2015-9-26 19:09 | 显示全部楼层
用滴答时间来做系统调度计时,很方便!
gejigeji521 发表于 2015-9-26 22:20 | 显示全部楼层
没说具体如何使用啊。
muensterZ 发表于 2015-9-26 22:26 | 显示全部楼层
可以用cubemx 然后配合HAL库可以很轻松的实现。。
huangcunxiake 发表于 2015-9-26 23:15 | 显示全部楼层
要让Systick正常工作,必须要对Systick进行配置
zchong 发表于 2015-9-27 07:04 | 显示全部楼层
发这个有意思?
那事就那么有意思?
734774645 发表于 2015-9-27 14:53 来自手机 | 显示全部楼层
cube库函数不是很好学啊
C洛达尔多 发表于 2015-9-27 15:03 | 显示全部楼层
滴答时钟这个确实很实用啊
 楼主| bbapple 发表于 2015-9-27 18:02 | 显示全部楼层
boy1990 发表于 2015-9-26 19:09
用滴答时间来做系统调度计时,很方便!

是的。。
 楼主| bbapple 发表于 2015-9-27 18:03 | 显示全部楼层
muensterZ 发表于 2015-9-26 22:26
可以用cubemx 然后配合HAL库可以很轻松的实现。。

是吗?具体的我还没有这样做过、、、
拉克丝 发表于 2015-9-27 20:46 | 显示全部楼层
Systick是一个24位的定时器,计数值被保存到寄存器STK_VAL中
米尔豪斯 发表于 2015-9-27 21:11 | 显示全部楼层
滴答定时器有时候还是挺方便的
Snow7 发表于 2015-9-27 21:42 | 显示全部楼层
Systick定时器需要注意的是他是倒计时的,可以自动重装初值
lefeng 发表于 2015-9-27 22:24 | 显示全部楼层
SysTick定时器除了能服务于操作系统之外,还能用于其它目的:如作为一个闹铃,用于测量时间等。
要注意的是,当处理器在调试期间被喊停(halt)时,则SysTick定时器亦将暂停运作。
拉克丝 发表于 2015-9-29 19:40 | 显示全部楼层
使用ST的函数库使用systick的方法  
1、调用SysTick_CounterCmd() 失能SysTick计数器
2、调用SysTick_ITConfig () 失能SysTick中断
3、调用SysTick_CLKSourceConfig() 设置SysTick时钟源。
4、调用SysTick_SetReload() 设置SysTick重装载值。
5、调用SysTick_ITConfig ()     使能SysTick中断
6、调用SysTick_CounterCmd() 开启SysTick计数器
稳稳の幸福 发表于 2015-9-29 20:20 | 显示全部楼层
Systick是有个硬件发生器还是软件模拟的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

293

主题

1811

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部