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

Assembly 如何在STM32中延迟一个时钟周期?,assembly,clock,stm32,stm32ldiscovery,Assembly,Clock,Stm32,Stm32ldiscovery,问题和主题一样简单。如何在STM32中延迟精确的一个时钟周期? 如果控制器以168MHz运行,一个时钟周期是否等于1/168MHz,即5.95ns?您可以尝试在C代码中使用汇编。使用asm()函数非常简单。我相信会是这样的: asm("NOP"); 这只是“请勿对此电脑执行任何操作”的组装说明。您还应该确保编译器没有对其进行优化。这似乎可以提供答案:我刚刚阅读了线程,谢谢!处理器似乎是基于不同的结构运行的。如果我需要精确的时间来与硬件(如高速ADC)通信,我该怎么办?

问题和主题一样简单。如何在STM32中延迟精确的一个时钟周期?
如果控制器以168MHz运行,一个时钟周期是否等于1/168MHz,即5.95ns?

您可以尝试在C代码中使用汇编。使用asm()函数非常简单。我相信会是这样的:

asm("NOP");

这只是“请勿对此电脑执行任何操作”的组装说明。您还应该确保编译器没有对其进行优化。

这似乎可以提供答案:我刚刚阅读了线程,谢谢!处理器似乎是基于不同的结构运行的。如果我需要精确的时间来与硬件(如高速ADC)通信,我该怎么办?