STM32单片机对Systick心跳定时器的设计.doc
《STM32单片机对Systick心跳定时器的设计.doc》由会员分享,可在线阅读,更多相关《STM32单片机对Systick心跳定时器的设计.doc(4页珍藏版)》请在三一文库上搜索。
1、STM32单片机对Systick心跳定时器的设计Systick :系统心跳定时器,提供系统节拍裸机程序中可作为独立的延时定时器用途:1.产生操作系统的时钟节拍2.便于不同处理器之间程序移植SysTIck定时器被捆绑在NVIC中,异常号153.作为一个闹铃测量时间用于测量时间,但当处理器在调试期间被喊停(halt)时,则SysTIck定时器亦将暂停运作。它有四个寄存器STK_CSR, 0xE000E010 - 控制寄存器STK_LOAD, 0xE000E014 - 重载寄存器STK_VAL, 0xE000E018 - 当前值寄存器STK_CALRB, 0xE000E01C - 校准值寄存器STM
2、32的时钟源选择外部时钟源时,则SysTIck时钟为HCLK /8选择内核时钟源时,则SysTIck时钟为HCLK延时编程原理systick定时器是24位的递减计数器,设定初值并使能它后,它会每个系统时钟周期计数器减1,计数到0 时,将从RELOAD 寄存器中自动重装载定时初值。只要不把它在SysTick控制及状态寄存器中的使能位清除,就永不停息。延时编程步骤1.计算出产生1us 需要多少个时钟周期 fac_us;2.计算出RELOAD寄存器的值也就是产生相应延时所需要的时钟周期数RELOAD=fac_us * nus3.开启计数4.循环检测计数到0的标志位;5.清空计数器,关闭定时器=Sys
3、Tick异常配置步骤1对CTRL/LOAD/VAL三个寄存器进行了配置,2初始化SysTick使用的时钟,3清除系统当前值,装入重装值,4使能SysTick,使SysTick能响应中断=当SysTick定时器计到0时,将把COUNTFLAG位置位;而下述方法可以对其清零:1.读取SysTick 控制及状态寄存器(STCSR)2.往SysTick 当前值寄存器(STCVR)中写任何数据只有当VAL 值为0 时,计数器自动重载RELOAD=库函数使用ST的函数库使用systick的方法,严格按照以下顺序:1、调用SysTick_CounterCmd() - 失能SysTick计数器2、调用SysT
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- STM32 单片机 Systick 心跳 定时器 设计
链接地址:https://www.31doc.com/p-3273654.html