STM32学习——SytsTick定时器

在stm32的Cortex—M3内核中存在SysTick定时器外设,可以定时也可以产生中断。SysTick定时器内部是一个24bit向下递减的计数器。所有Cortex-M3系列的单片机都有这个外设,因此方便移植,是SysTick一个显著的优点。

查看M3内核编程手册,可以找到有关SysTick定时的寄存器有四个,分别是SysTick控制及状态寄存器、SysTick重装载数值寄存器、SysTick当前数值寄存器和SysTick校准数值寄存器。配置SysTick只需配置前两个寄存器,对应固件库中SysTick_Config(uint32_t ticks)函数。

变量ticks代表我们需要定时的时间,SysTick定时器的计数器向下递减,技数一次产生的时间T=1/CLK(AHB),默认情况下CLK(AHB)是72MHZ(由SysTick——CTRL_CLKSOURCE_Msk决定),因此我们计数72次为1us,72000次为1ms。

这样我们就写好了一个比较精准毫秒级别的延时函数。还有一种方法是使用SysTick定时器中断来写延时函数,但较为麻烦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值