打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
STM32 SysTick计数器的应用
    SysTick是一个24位的递减计数器。 SysTick设定初值并使能后,每经过一个时钟周期,计数器就减1,当递减到到0时便触发中断,同时SysTick计数器会自动重装初值并继续计数。
1、SysTick时钟源的设置
SysTick的时钟源有HCLK和HCLK/8两种,可以通过设置SysTick->CTRL来选择。SysTick->CTRL&= 0xfffffffb,设置时钟源为HCLK/8。SysTick->CTRL|= 0x00000004,设置时钟源为HCLK。
2、SysTick计数值的设置
SysTick有两个寄存器SysTick->VAL和SysTick->LOAD。首先要向SysTick->LOAD装载计数值。当SysTick->VAL清零后由SysTick->LOAD给SysTick->VAL赋值。计数器使能后,每过一个时钟周期,SysTick->VAL就会减1,减到0后SysTick->VAL会自动重装,并触发中断。
3、SysTick计数器开启和关闭
SysTick->CTRL|= 0x00000001,SysTick计数器开启。SysTick->CTRL&= 0xffffffffe,SysTick计数器关闭。

SysTick计数器的使用步骤:
前提是配置好SysTick计数器的中断。
1、设置时钟源
1)使用库函数实现:利用函数void SysTick_CLKSourceConfig(uint32_tSysTick_CLKSource),形参为SysTick_CLKSource_HCLK和SysTick_CLKSource_HCLK_Div8。
2)直接操作寄存器:如上面所示。
2、设置计数值
根据SysTick计数器的时钟频率和要延迟的时间,计算出计数值,装载进SysTick->LOAD。然后清空SysTick->VAL。
3、开启SysTick计数器
直接操作寄存器开启计数器,方法如上所示。
4、查询计数器的值是否减到0。减到0后即达到延迟要求,这时就可以关闭SysTick计数器并清空SysTick->VAL。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
STM32学习之路
SysTick定时器和delay延迟函数
stm32的systick原理与应用
STM32中的tic与toc,用SysTick统计代码段执行时间
stm32上最方便的定时器Systick[操作寄存器+库函数] -Changing's Blog
STM32实现精确延时
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服