This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

__delay_cycles()延时

想问一下__delay_cycles延时的精度如何?和CPU频率什么关系?

  • __delay_cycles(n)是一个编译器内联的精确延时函数。特定时间延迟的n值取决于当前的CPU速度。

    代码在编译时生成,因此它是固定延迟,不能用于运行时的动态延迟。

    此外,如果存在中断,则任何中断的执行item都会被添加到延迟中(因为延迟取决于执行某些代码,并且当ISR运行时会停止执行)

    所以若是代码复杂的话,产生延迟的建议是使用计时器。根据延迟的大小和定时器的速度,有不同的方式。
  • 很高兴能帮到您