AVR单片机asm("nop");什么意思,8M的话多少 时间
9个回答
展开全部
asm("nop");指汇编指令nop,即空操作,其执行时间是一个时钟周期,8M的话就是0.125微秒
追问
2.微秒延时
晶振频率为8MHz时1μs延时函数:
void delay_1us(void)
{
asm("nop");
}
可是我查到的以上代码,说是1us
追答
你那是指调用一个延时函数的时间是1us,具体就nop指令来说就是一个时钟周期,调用函数还得有call(调用函数)和ret(函数返回)等指令,这些指令都要时间来执行的,加起来大概是8个时钟,也就是8M下要延时1us
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
asm("nop")指汇编指令nop,即空操作,其执行时间是一个时钟周期。8M的话就是0.125微秒。有时软件抗干扰时要用到,使跑飞的程序入正轨。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
asm("nop");这条语句是在C语言环境中执行汇编语句,而nop是汇编当中的空语句。8M是频率,计算成周期值是0.125微秒。AVR指令有单时钟周期,双时钟周期的以及3时钟、4时钟的。nop语句是单指令周期的,就是空等0.125微秒。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
avr是单周期指令,nop 指令在8M就是0.125us,你的函数是avr的单片机的吗?好多单片机是有分频的,pic的一般4分频,nop指令在8m是0.5us
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询