delay.c

来自「AVRMEG32编写的一个项目代码,里面包含一般应用的模块.」· C语言 代码 · 共 28 行

C
28
字号
//----------------------------------------------------------------------------------
//
// Delay functions
//
// History:
// 2003-07-06	BL	- Created
//
//----------------------------------------------------------------------------------
//	Quick and dirty Delay (Chris Efstathiou)
// ------------------------------------------------------------------
void Delay(unsigned long us)
{
 	// 6 cpu cycles per loop + 16 cycles overhead

 	__asm__ volatile (
 		"L_%=: \n\t" \
 		"subi %A0,lo8(-(-1)) \n\t" \
 		"sbci %B0,hi8(-(-1)) \n\t" \
 		"sbci %C0,hlo8(-(-1)) \n\t" \
 		"sbci %D0,hhi8(-(-1)) \n\t" \
 		"brne L_%= \n\t" \
 		: /* NO OUTPUT */ \
 		: "r" (us) \
 	); \
	return;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?