在C语言编程中,延时是常见需求。以下是几种常用延时方法及代码示例:

1. 循环延时
通过空循环实现简单延时,但精度低且占用CPU资源。
void delay_loop(unsigned int ms) {
unsigned int i, j;
for (i = 0; i < ms; i++)
for (j = 0; j < 1000; j++); // 调整循环次数以校准延时
}
2. sleep函数
标准库函数,使程序暂停执行指定秒数。
#include
void delay_sleep(unsigned int seconds) {
sleep(seconds); // 秒级延时
}
3. usleep函数
微秒级延时,适用于更精确控制。
#include
void delay_usleep(unsigned int microseconds) {
usleep(microseconds); // 微秒级延时
}
4. nanosleep函数
纳秒级延时,提供更高精度。
#include
void delay_nanosleep(unsigned int nanoseconds) {
struct timespec ts;
ts.tv_sec = nanoseconds / 1000000000;
ts.tv_nsec = nanoseconds % 1000000000;
nanosleep(&ts, NULL);
}
5. Windows平台Sleep函数
Windows系统专用,毫秒级延时。
#include
void delay_windows(unsigned int milliseconds) {
Sleep(milliseconds); // 毫秒级延时
}
6. 定时器延时
使用定时器中断实现精确延时,需硬件支持。
// 示例代码依赖具体硬件平台,此处为概念展示
void timer_delay(unsigned int ms) {
// 初始化定时器并设置延时时间
// 等待定时器中断触发
}
本文凡亿教育原创文章,转载请注明来源!

扫码关注







































