⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 delay.c

📁 W3510A PPPoE code for network use
💻 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 + -