systick
来源:互联网 发布:淘宝找一件代发货源 编辑:程序博客网 时间:2024/05/27 09:45
2013年1月8号 星期三
SysTick定时器:它是一个24位的倒计数定时器,注意,是倒计数!当计到0时它就会从RELOAD寄存器中自动重装载定时初值。只要不把CTRL寄存器中的ENABLE为清0,它就永不停息!SysTick定时器被捆绑在NVIC中,异常号15
SysTick定时器的用途:
1.产生操作系统的时钟节拍
2.便于不同处理器之间程序移植
3.作为一个闹铃用于测量时间 但当处理器在调试期间被喊停(halt)时,则SysTick定时器亦将暂停运作
有四个寄存器控制SysTick定时器
STK_CSR, 0xE000E010 -- 控制及状态寄存器
STK_LOAD, 0xE000E014 -- 重装载数值寄存器
STK_VAL, 0xE000E018 -- 当前数值寄存器
STK_CALRB, 0xE000E01C -- 校准数值寄存器
寄存器定义在哪里?答:在core_cm3.h中!
SysTick的时钟来源:
选择外部时钟源时(FCLK),则Systick时钟为HCLK /8
选择内核时钟源时(STCLK),则Systick时钟为HCLK (72M)
SysTick编程:
SysTick为递减计数器,设定初值后计数到0时,SysTick计数器自动重装初值并计数,同时触发中断每次减1用的时间是1/72M,即计算1秒要72000000次。1ms就是72000次。
库函数所在的地方:
SysTick_CLKSourceConfig() //SysTick时钟源选择
SysTick Config(uint32_ticks)//初始化systick为HCLK,并开启中断 uint32_ticks表示的两个中断之间的时间间隔
Systick中断服务函数:void SysTick Handler(void);
延时编程步骤:
1.计算出产生1us 需要多少个SysTick时钟周期 fac_us;
2.计算出RELOAD寄存器的值也就是产生相应延时所需要的时钟周期数RELOAD = fac_us * nus
3.开启计数
4.循环检测计数到0的标志位;
5.清空计数器,关闭定时器
SysTick定时器:它是一个24位的倒计数定时器,注意,是倒计数!当计到0时它就会从RELOAD寄存器中自动重装载定时初值。只要不把CTRL寄存器中的ENABLE为清0,它就永不停息!SysTick定时器被捆绑在NVIC中,异常号15
SysTick定时器的用途:
1.产生操作系统的时钟节拍
2.便于不同处理器之间程序移植
3.作为一个闹铃用于测量时间 但当处理器在调试期间被喊停(halt)时,则SysTick定时器亦将暂停运作
有四个寄存器控制SysTick定时器
STK_CSR, 0xE000E010 -- 控制及状态寄存器
STK_LOAD, 0xE000E014 -- 重装载数值寄存器
STK_VAL, 0xE000E018 -- 当前数值寄存器
STK_CALRB, 0xE000E01C -- 校准数值寄存器
寄存器定义在哪里?答:在core_cm3.h中!
SysTick的时钟来源:
选择外部时钟源时(FCLK),则Systick时钟为HCLK /8
选择内核时钟源时(STCLK),则Systick时钟为HCLK (72M)
SysTick编程:
SysTick为递减计数器,设定初值后计数到0时,SysTick计数器自动重装初值并计数,同时触发中断每次减1用的时间是1/72M,即计算1秒要72000000次。1ms就是72000次。
库函数所在的地方:
SysTick_CLKSourceConfig() //SysTick时钟源选择
SysTick Config(uint32_ticks)//初始化systick为HCLK,并开启中断 uint32_ticks表示的两个中断之间的时间间隔
Systick中断服务函数:void SysTick Handler(void);
延时编程步骤:
1.计算出产生1us 需要多少个SysTick时钟周期 fac_us;
2.计算出RELOAD寄存器的值也就是产生相应延时所需要的时钟周期数RELOAD = fac_us * nus
3.开启计数
4.循环检测计数到0的标志位;
5.清空计数器,关闭定时器
0 0
- Systick
- systick
- SysTick
- Systick
- Systick
- SysTick定时器
- SysTick定时器
- stm32 systick
- STM32 Systick
- STM32F4 systick
- SYSTICK用法
- PIT systick
- SYSTICK配置
- systick介绍
- systick.c
- systick.h
- SysTick 倒计时
- SysTick时钟
- 200多个js技巧代码
- C++语言的url encode 和decode
- android布局属性之weight
- sql系统表syscolumns中 xtype 所有值对应的net类型名称
- 详解C语言的类型转换
- systick
- ubuntu 重启,定时关机命令,ubuntu 重启网卡方法
- PPT2007只读密码解密
- 交互脚本学习--expect
- Makefile学习(四)
- xw总结3:sjksj
- Bootstrap_引入框架的必要代码
- linux制作本地源,不联网使用apt-get安装
- highchart插件属性说明(转载)