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");? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
1条回答
常见泽1
1楼-- · 2019-03-25 04:21
; 注意分号

一周热门 更多>