avr单片机中的软件延时

2019-03-24 21:02发布

2.微秒延时 晶振频率为8MHz1μ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");? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。