2.微秒延时
晶振频率为8MHz时1μs延时函数:
void delay_1us(void)
{
asm("nop");
}
当然也可以使用宏定义来实现1μs延时:
#define delay_1us(); asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop");asm("nop")
如果小于1μs的延时,只有使用宏定义实现,当然,也可以直接插入在线汇编
asm("nop");
语句实现延时。
不明白函数写的只用一个 asm("nop");就达到1us的延时!而用宏定义却要用8个 asm("nop");?
此帖出自
小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>