nop();函数的声明在intrins.h文件里

nop()要延时1个指令周期。
时钟周期:主频分之一秒
指令周期:完成一条指令所需的时间就是指令周期,当然不同的指令,其指令周期是不一样的。所以一个nop延时的时间是不确定的。
计算时钟周期:
我们知道,1MHz的频率,对应的周期是1us
假设现在用的单片机主频是8M,速度是1M的8倍,那周期就是1us的八分之一,等于1000/8=125ns。
又或者现在主频是72M,那周期就是1us的72分之一,等于1000/72,约等于14ns。
nop()函数在intrins.h中声明,它会延迟一个指令周期。指令周期取决于具体指令,不同指令的周期不同。例如,对于1MHz频率,周期是1us;而8MHz主频下,周期为125ns;72MHz主频下,周期约为14ns。文章讨论了如何根据主频计算nop()的延时时间。
905

被折叠的 条评论
为什么被折叠?



