如何在STM32中延迟一个时钟周期?

7
问题很简单,就是如何在STM32中延迟一个时钟周期。如果控制器运行在168MHz,那么一个时钟周期是否等于1/168MHz,即5.95纳秒?

2
看起来这个链接可能会提供答案:https://dev59.com/r3XYa4cB1Zd3GeqP8qZ- - Jason Lewis
我刚刚阅读了这个线程,谢谢!看起来处理器是基于不同的结构运行的。 - richieqianle
如果我需要与硬件进行精确的时间通信,例如非常高速的ADC,我该怎么办? - richieqianle
1个回答

12

你可以尝试在C代码中使用汇编语言。通过asm()函数实现相当简单。我认为代码会像这样:

asm("NOP");

这只是“不要在此PC时钟周期内执行任何操作”的汇编指令。同时,你需要确保你的编译器不会将其优化掉。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接