📄 delay.c
字号:
#include "delay.h"
void wait_1us(uint8 cnt)
{
/* 16MHz : 16 CLK 1us : 1 + 1 + (1+1)*4 + 1 + (2 + 1)*(cnt) + 1 + 1*/
asm volatile
(
"movw r24, %A0" "\n\t"
"L_US:" "\n\t"
"ldi r26, lo8(4)" "\n\t"
"L_US0:" "\n\t"
"dec r26" "\n\t"
"brne L_US0" "\n\t"
"sbiw r24, 1" "\n\t"
"brne L_US" "\n\t"
"nop" "\n\t"
: :"r" (cnt)
);
}
/*
********************************************************************************
* WAIT FUNCTION
*
* Description : This function waits for 10 milliseconds
* Arguments : cnt - is the time to wait
* Returns : None
* Note : Internal Function
********************************************************************************
*/
void wait_10ms(uint8 cnt)
{
for (; cnt; cnt--) wait_1ms(10);
}
/*
********************************************************************************
* WAIT FUNCTION
*
* Description : This function waits for 1 milliseconds
* Arguments : cnt - is the time to wait
* Returns : None
* Note : Internal Function
********************************************************************************
*/
void wait_1ms(uint8 cnt)
{
for (; cnt; cnt--) wait_1us(1000);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -