1

我玩 SysTick 已经有几天了,我无法达到纳秒级的延迟。Systick 是否有可能达到如此小的值,或者我必须使用定时器和中断?虽然 LED 的工作延迟不会低于 350ns。这是来自我的 USB 示波器的图像:

在此处输入图像描述

一般来说,我想做一个项目(我只是在上面试验 LED 和 SysTick),它会是这样的:

在此处输入图像描述

其中 Δt = 250ns(其他参数将以某种方式确定)。问题是,我可以使用 SysTick 制作这些脉冲吗?

4

2 回答 2

1

STM32F407VG具有24 位SysTick 定时器,其最大时钟速度为168MHz(核心时钟速度)。这意味着,即使您将 SysTick 重载寄存器设置为:

0x000001(1 个周期)

你只能有 5.95ns 的周期。

于 2019-04-08T23:19:23.233 回答
0

我在RM0368 参考手册的第6.2 节时钟中找到了这一点:

RCC 为 Cortex 系统定时器 (SysTick) 的外部时钟提供除以 8 的 AHB 时钟 (HCLK)。SysTick 可以使用该时钟或 Cortex 时钟 (HCLK),可在 SysTick 控制和状态寄存器中配置.

因此,最大滴答速率可能受到时钟分频的限制。检查图 12. 时钟树以查看您应该使用哪个时钟配置来获得最大速度。

于 2015-02-05T20:31:57.887 回答