_nop_在c语言里怎么用呢?

2026年09月25日 06:59
有4个网友回答
网友(1):

在c语言里没有这个_nop_函数,这个函数是在51单片机里使用的。

作用:对于延时很短的,要求在us级的,采用“_nop_”函数,这个函数相当汇编NOP指令,延时几微秒。

NOP指令为单周期指令,可由晶振频率算出延时时间,对于12M晶振,延时1uS。对于延时比较长的,要求在大于10us,采用C51中的循环语句来实现。

扩展资料

nop指令在C语言中的使用

示例:

#inluce

assemblyinlinevoidinsert_nop()

{

asm_begin

nop

asm_end

}

网友(2):

C语言中没有_nop_()函数,该函数是在51单片机中用的延时函数,延时一个指令周期。


例如用6MHz的晶振,则如下for循环大约延时1秒。

int i;
for(i=0; i<6000000; i++)
    _nop_();  // 延时一个指令周期,相当于执行一条无意义的语言

网友(3):

实现方法各异,如果你使用的编译器中有这个函数的话,恭喜你,你可以直接调用,如果没有,那你可以使用内联汇编来自己实现这个函数(当然,涉及到汇编语言的东西一般是平台相关的)

网友(4):

__asm{
nop
nop
}