STM32F4纳秒延迟

时间:2014-12-02 11:13:04

标签: stm32f4discovery

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

enter image description here

一般来说,我想制作一个项目(我只是在尝试上面的LED和SysTick),这将是这样的:

enter image description here

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

2 个答案:

答案 0 :(得分:1)

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

  

0x000001(1个周期)

您只能有5.95ns的周期。

答案 1 :(得分:0)

我在RM0368参考手册的 6.2 Clocks 部分找到了这个:

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

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