我的 STM32F7 需要一个高精度中断。任务是在每个滴答声中增加一个计数器。CPU 的频率高达 216 MHz(来自数据表),这意味着可以实现大约 5 ns 的滴答持续时间,对吗?
经过一些互联网研究后,我发现 sysTick 可用于此目的。我应该简单地配置 SysTick 如下:
/** Configure the Systick interrupt time */
HAL_SYSTICK_Config(HAL_RCC_GetHCLKFreq()/1000);
/**Configure the Systick */
HAL_SYSTICK_CLKSourceConfig(SYSTICK_CLKSOURCE_HCLK);
我在 SysTick_Handler 函数内切换一个 GPIO 引脚来检查执行频率,它是 1 毫秒。
我想实现 1 微秒的滴答持续时间,所以我用 100 替换了 1000(在代码中),然后我尝试了不同的数字,但似乎没有任何影响 1 毫秒的持续时间。
我在这里错过了什么吗?有没有比 sysTick 更好的解决方案来实现这个目标?
谢谢。