编写一个延时函数 该函数接受一个整形参数表示延时的毫秒数
时间: 2024-09-21 13:05:24 浏览: 47
用C51编写单片机延时函数
在C语言中编写一个简单的延时函数,可以利用`sleep()`系统调用来暂停程序执行一段时间。不过需要注意的是,这个函数在Windows平台不可用,通常在Linux和基于POSIX的系统上使用。如果你的目标环境是Windows,可以考虑使用Windows API中的`Sleep()`函数或者第三方库如WinAPI或C++11后的`std::this_thread::sleep_for()`。
这里提供一个基础的Linux C语言版本的延时函数示例:
```c
#include <unistd.h> // 包含sleep函数头
// 延迟函数,接受一个整型参数表示延迟时间(单位:毫秒)
void delay(int milliseconds) {
struct timespec ts;
ts.tv_sec = milliseconds / 1000; // 转换成秒,因为sleep以秒为单位
ts.tv_nsec = (milliseconds % 1000) * 1000000; // 将余下的毫秒转换为纳秒
nanosleep(&ts, NULL); // 等待指定时间
}
```
使用这个函数时,例如想要延迟500毫秒,可以这样做:
```c
int main() {
delay(500);
// 其他程序逻辑...
return 0;
}
```
阅读全文