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

📄 delay.c

📁 自己写的TMS320LF2407A的精确延时函数和中断函数
💻 C
字号:

void delay_1us(void)                 //1us延时函数
{
	asm(" rpt #25 ");
	asm(" nop ");
	asm(" ret ");
}

void delay_nus(unsigned int n)       //N us延时函数
{
   while(--n>0)
   {
     delay_1us();
   }
}
  
void delay_1ms(void)                 //1ms延时函数
{
   int n=498;
   while(--n>0);
}

void delay_nms(unsigned int n)       //N ms延时函数
{
   while(--n>0)
   {
      delay_1ms();
   }
}

void delay_100us(void)
{
	int n=48;
	while(--n>0)
        delay_1us();
}

//--------------------------------------------------------------------
// 函数名称 : void delay_50ms(void)             
// 函数说明 : 50ms延迟
// 输入参数 : 无
// 输出参数 : 无
//--------------------------------------------------------------------
void delay_50ms()
{
  unsigned  int i,j;
   
   for(i=0;i<=1000;i++);
     for(j=0;j<=2000;j++);  //延迟250*1000*CLKOUT=500000*CLKOUT
                           //1/CLKOUT=0.2us 
}     

//--------------------------------------------------------------------
// 函数名称 : void delay_20ms(void)             
// 函数说明 : 20ms延迟
// 输入参数 : 无
// 输出参数 : 无
//--------------------------------------------------------------------
void delay_20ms()
{
   unsigned  int i,j;
   
   for(i=0;i<=1000;i++);
     for(j=0;j<=400;j++);  //延迟10*1000*CLKOUT=100000*CLKOUT
                           //1/CLKOUT=0.2us 
}

/*
***********************************************************
- 函数名称 : void Delay(int numbers)
- 函数说明 : 长延时
- 输入参数 : numbers
- 输出参数 : 无
***********************************************************
*/
void Delay(unsigned int numbers)
{
  	unsigned  int i,j;
  	for(i=0;i<40000;i++);
 
  		for(j=0;j<numbers;j++);
} 

⌨️ 快捷键说明

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