📄 driver_delay.c
字号:
/*********************************************************************************************
文 件 名:
创 建 人:
创建日期:
组成部分:
描 述:
修 改 人:
修改日期:
修改内容:
*********************************************************************************************/
#include "user.h"
#include "intrins.h"
#ifdef DEL
/*********************************************************************************************
函 数 名:
功能描述:
全局变量:
局部变量:
参数说明:
输 入:
输 出:
创 建 人:
创建日期:
修 改 人:
日 期:
函数说明:
********************************************************************************************/
void Delay5us(void)
{
#ifdef FQR1
_nop_(); //约为5.43us
#else
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
#endif
}
/*********************************************************************************************
函 数 名:
功能描述:
全局变量:
局部变量:
参数说明:
输 入:
输 出:
创 建 人:
创建日期:
修 改 人:
日 期:
函数说明:
********************************************************************************************/
void Delay10us(void)
{
#ifdef FRQ1
Delay5us();
_nop_(); //约为10.85us
#else
Delay5us(); //约为10.55us
_nop_();
_nop_();
_nop_();
_nop_();
#endif
}
/*********************************************************************************************
函 数 名:
功能描述:
全局变量:
局部变量:
参数说明:
输 入:
输 出:
创 建 人:
创建日期:
修 改 人:
日 期:
函数说明:
********************************************************************************************/
void Delay40us(void)
{
#ifdef FQR1
Delay10us(); //约为40.15us
Delay10us();
Delay10us();
Delay5us();
#else
Delay10us(); //约为40.15us
Delay10us();
Delay10us();
Delay5us();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
#endif
}
/*********************************************************************************************
函 数 名:
功能描述:
全局变量:
局部变量:
参数说明:
输 入:
输 出:
创 建 人:
创建日期:
修 改 人:
日 期:
函数说明:
********************************************************************************************/
void Delay50us(void)
{
#ifdef FRQ1
Delay40us(); //约为51us
Delay5us();
_nop_();
#else
Delay40us(); //约为50.46us
Delay5us();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
#endif
}
/*********************************************************************************************
函 数 名:
功能描述:
全局变量:
局部变量:
参数说明:
输 入:
输 出:
创 建 人:
创建日期:
修 改 人:
日 期:
函数说明:
********************************************************************************************/
void Delay100us(void)
{
#ifdef FRQ1
Delay50us(); //约为100.92us
Delay40us();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
#else
Delay50us(); //约为100.1us
Delay40us();
Delay5us();
_nop_();
_nop_();
_nop_();
#endif
}
/*********************************************************************************************
函 数 名:
功能描述:
全局变量:
局部变量:
参数说明:
输 入:
输 出:
创 建 人:
创建日期:
修 改 人:
日 期:
函数说明:
********************************************************************************************/
void Delay200us(void)
{
#ifdef FRQ1
Delay100us(); //约为200.74us
Delay50us();
Delay40us();
_nop_();
_nop_();
_nop_();
_nop_();
#else
Delay100us(); //约为200.2us
Delay50us();
Delay40us();
Delay5us();
_nop_();
_nop_();
_nop_();
_nop_();
#endif
}
/*********************************************************************************************
函 数 名:
功能描述:
全局变量:
局部变量:
参数说明:
输 入:
输 出:
创 建 人:
创建日期:
修 改 人:
日 期:
函数说明:
********************************************************************************************/
void Delay600us(void)
{
#ifdef FRQ1
Delay200us(); //约为600.05us
Delay200us();
Delay100us();
Delay50us();
Delay40us();
_nop_();
_nop_();
#else
Delay200us(); //约为600.01us
Delay200us();
Delay100us();
Delay50us();
Delay40us();
Delay5us();
_nop_();
_nop_();
_nop_();
#endif
}
/*********************************************************************************************
函 数 名:
功能描述:
全局变量:
局部变量:
参数说明:
输 入:
输 出:
创 建 人:
创建日期:
修 改 人:
日 期:
函数说明:
*********************************************************************************************/
void Delayms(uint8 i)
{
#ifdef FRQ1
while(i--)
{
Delay600us(); //1ms实际延时为1.013ms
Delay200us();
Delay100us();
Delay50us();
Delay40us();
}
#else
while(i--)
{
Delay600us(); //1ms实际延时为1.00098ms
Delay200us();
Delay100us();
Delay50us();
Delay40us();
}
#endif
}
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -