📄 mydelay.c
字号:
#include "mydelay.h"
void delay0ms900us(void)
{
/*精确延时0ms 900us ,晶振1MHz*/
/*us级 196348us/晶振即196ms/晶振以内 延时=n*(m*3+5)*/
// CLI;//屏蔽中断吗?
asm("LDI R18,2");//外圈循环n
asm("LOOP3:LDI R19,147");//内圈循环m
asm("CLZ");//1t
asm("LOOP2:DEC R19");//1t
asm("BRNE LOOP2");
asm("CLZ");//1t
asm("DEC R18");//1t
asm("BRNE LOOP3");
asm("NOP");//1t
// SEI;
/*us级精确延时 196348us以内,用nop补足了余数*/
//===精确延时 893us,晶振1MHz ===//
//===调用函数及返回花费7us==//
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -