delayMS()函数
时间: 2024-05-18 12:09:43 浏览: 27
两个引用中分别给出了两个不同的延时函数。
1. 引用中的Delay_ms函数,参数为unsigned int类型的时间,单位为ms,使用的是嵌入式系统中的汇编指令实现延时。其中,每个循环所执行的时间为187/24M=7.8us左右,即每次循环延时约为7.8us。
2. 引用中的delayms函数,参数为uchar类型的时间,单位为ms,使用的是两个for循环实现延时。其中,每次循环所执行的时间为120/12M=10us左右,即每次循环延时约为10us。
下面是两个函数的示例代码:
1. Delay_ms函数
```c
void Delay_ms(unsigned int time) {
unsigned char n;
while(time > 0) {
for(n=0; n<187; ++n) {
asm("nop");
}
time--;
}
}
```
2. delayms函数
```c
void delayms(uchar x) {
int i, j;
for(i=x; i>0; i--) {
for(j=0; j<120; j++);
}
}
```
相关问题
delayms缺少函数原型
如果你使用的是C语言的话,通常情况下需要在你的代码文件中包含一个头文件来声明delayms函数的原型。如果你使用的是标准库函数,可以在头文件"stdio.h"中找到它的原型;如果你使用的是自己编写的函数,你需要在代码文件的开头声明该函数的原型。
例如,如果你的代码文件中有以下代码:
```c
void delayms(int ms);
```
你需要在代码文件的开头添加以下声明:
```c
void delayms(int ms);
```
这样编译器就能够识别delayms函数的原型了。
delay_ms函数用法
delay_ms函数是一个用于延时的函数。它用于在程序中暂停执行一段时间。根据引用、引用和引用提供的代码,可以看出delay_ms函数可以接受一个参数,该参数表示要延时的毫秒数。具体使用方法如下:
1. 单次延时:
使用delay_ms函数,传入要延时的毫秒数作为参数,即可实现单次延时。
2. 循环延时:
使用for循环结构,将delay_ms函数嵌套在循环内部,并设置循环次数,即可实现循环延时。
3. 自定义延时函数:
可以根据需要编写自己的延时函数,如引用中的mydelay_ms函数。该函数使用while循环和delay_ms函数实现延时。
需要注意的是,不同开发板或开发环境可能对延时函数的范围有限制。具体的限制可以参考引用和引用提供的代码。