登录/注册

STM32 SYSTICK 准么

STM32 SYSTICK 准么

更多

STM32 中的 SYSTICK 定时器本身是一个非常精确的硬件定时器,其精度主要取决于为其提供时钟源的精度和稳定性。

以下是详细的解释:

  1. 硬件实现:

    • SYSTICK 是 ARM Cortex-M 处理器内核内置的一个 24 位递减计数器。
    • 它作为一个标准的、专门设计的硬件外设集成在 CPU 内核中。
    • 它的计数操作是硬件同步的,不受软件指令执行时间的影响(除非你去读取它的当前值,这需要几个时钟周期)。
  2. 精度来源:

    • SYSTICK 的精度完全依赖于它的时钟源 (CLKSOURCE)
      • 内核时钟 (HCLKHCLK/8): 这是最常见的配置。SYSTICK 的时钟频率等于系统的主内核时钟 (HCLK)。如果 HCLK 本身非常精确和稳定,那么 SYSTICK 就非常精确。HCLK 通常来源于:
        • 外部高速晶振 (HSE): 这是精度最高的时钟源。一个高质量的石英晶振(如 8MHz, 16MHz, 25MHz)及其匹配电容,通常能提供 ±10 ppm(百万分之十)或更好的精度。这是获得高精度 SYSTICK 的最佳选择。
        • 内部高速 RC 振荡器 (HSI): 出厂校准过,但精度远低于晶振,典型值为 ±1%。受温度、电压影响较大。如果 SYSTICK 使用源自 HSIHCLK,其精度会显著降低。
      • 外部参考时钟 (STCLK): 这个源在大多数 STM32 上不可用或不常用。
  3. 潜在误差源:

    • 时钟源精度: 如上所述,HSE 是最佳选择,HSI 会引入显著误差。
    • 时钟源稳定性: 温度和电源电压的变化会影响时钟频率,尤其是 HSI
    • 软件配置:
      • 确保 CLKSOURCE 位配置正确(通常选择 HCLK)。
      • 正确初始化 SYSTICK 的重载值 (LOAD)。计算重载值时的任何舍入误差都会在每次中断时引入微小偏差。
    • 中断延迟: SYSTICK 通常用于产生周期性中断(如 RTOS 的心跳)。当中断发生时,CPU 需要一定时间(中断响应时间)来响应并执行中断服务程序 (SysTick_Handler)。这不是 SYSTICK 本身计数不准,而是执行时间点的延迟。对于需要精确时间间隔的应用(如精确定时、波形生成),需要在中断服务程序中进行补偿(例如,使用另一个硬件定时器测量实际间隔并动态调整 SYSTICK 重载值),或者优先使用专用的硬件定时器(TIMx)的输出比较/PWM 功能。

总结:

简单回答:只要你的 STM32 主时钟 (HCLK) 使用的是高精度的外部晶振 (HSE),并且正确配置了 SYSTICK,那么它就是一个非常准的定时器。如果用内部时钟 (HSI),精度就差很多。

STM32SysTick时钟源来自哪里?

STM32的SysTick时钟源来自哪里?

2023-10-26 15:58:08

STM32进入硬件错误后,systick定时器还会工作ma ?

STM32进入硬件错误后,systick定时器还会工作么

2023-09-22 07:34:24

STM32 SysTick配置函数

之前使用SysTick滴答定时器都是通过查找内核编程手册配置寄存器让SysTick滴答定时器工作的。

2023-07-22 10:21:08

0STM32中的SysTick是个啥?咋用?(可下载)

中的使能位清除,就永不停息。SysTick在《STM32xx中文参考手册》里面基本没有介绍,其详细介绍,内核编程手册中。在工程中我们将以STM32

资料下载 松山归人 2025-04-01 14:52:44

STM32学习笔记(5)——系统定时器SysTick

单独拿出来讲的一个内核外设(所以不要期望在STM32中文参考手册找到它!即使找到也只会叫你看cm3内核编程手册),说明它真的很重要。STM32学习笔记(5)——系统定时器

资料下载 佚名 2021-12-23 19:56:46

STM32入门(十五)----SysTick系统定时器

的Cortex-M内核的单片机都具有这个定时器。《STM32参考手册》里的一句话:关于Cortex-M3核心、 SysTick定时器和NVIC的详细说明,请参考另一篇ST的文档和一篇ARM的文档:《

资料下载 佚名 2021-12-01 15:06:07

STM32单片机SysTick实现精确延时

STM32单片机SysTick实现精确延时

资料下载 笑过就走 2021-11-23 18:21:28

STM32菜鸟成长记录---系统滴答定时器(systick)应用资料下载

电子发烧友网为你提供STM32菜鸟成长记录---系统滴答定时器(systick)应用资料下载的电子资料下载,更有其他相关的电路图、源代码、课件教程、中文资料、英文资料、参考设计、用户指南、解决方案等资料,希望可以帮助

资料下载 手托初梦 2021-04-16 08:51:42

STM32 SysTick中断使用方法

SysTick中断属于核内外设中断器,中断号为-1。

2023-07-22 10:18:38

STM32入门学习笔记之SysTick时钟

Cortex-M3内核的处理器,内部包含了一个SysTick定时器,SysTick是一个24位的倒计数定时器,当计数到0时,将从ReLoad寄存器中自动重装载定时初值,开始新一轮计数。只要不把它在

2023-02-16 09:59:11

一文详解STM32的嘀嗒时钟(SysTick)

嘀嗒时钟(SysTick)是一个简单的系统时钟节拍计数器,它属于Cortex-M4内核嵌套向量中断控制器(NVIC)里的一个功能单元。他是一个24位的倒计时定时器(在NVIC中),当systick

2023-01-19 18:11:00

STM32 SYSTICK定时器常见问题

我们知道,STM32库函数里通常使用来自内核的系统定时器SYSTICK作为时基,实现计数延时。一般来讲,ST公司提供的库函数里将SYSTICK定

2022-09-13 16:20:10

哪位大神可以提供CH32V307的SysTick例程

官方例程里没找到SysTick的例程,能提供CH32V307的SysTick例程么?

2022-05-13 07:45:38

STM32F1_ SysTick系统滴答

STM32F1_SysTick系统滴答

2020-04-08 11:00:54

STM32中的SysTick时钟源来自哪里?

STM32的SysTick时钟源来自哪里?

2020-03-03 14:32:55

7天热门专题 换一换
相关标签