delay函数c语言例子,模拟delay函数

news/2025/3/15 16:21:19/

使用标准函数 clock 模拟非标准函数 delay 。只是出于娱乐目的,没什么移植性,因为 clock() 不一定每次都能获取程序当前运行了多久,如果不能获取,则返回 -1 。

代码如下:

// C++ 版本

// 文件名:my_delay.cpp

// 功能:程序暂停一段时间(以毫秒计算)

// 作者:antigloss at http://cpp.ga-la.com

// prototype

inline void my_delay(unsigned long ms = 1000);

#include

int main()

{

my_delay(5000);

return 0;

}

inline void my_delay(unsigned long ms)

{

double start_time = static_cast( clock() ) / CLOCKS_PER_SEC * 1000;

while ( static_cast( clock() ) / CLOCKS_PER_SEC * 1000 – start_time < ms ) ;

}

============================

/* C 版本

* 文件名:my_delay.c

* 作者:antigloss at http://cpp.ga-la.com

* 功能:程序暂停一段时间(以毫秒计算)

*/

/* C99 支持内联函数,如果您的编译器支持 C99,也可以把这个函数定义为内联函数 */

void my_delay(unsigned long ms);

#include

int main(void)

{

my_delay(10000);

return 0;

}

void my_delay(unsigned long ms)

{

double start_time = (double)clock() / CLOCKS_PER_SEC * 1000;

while ( (double)clock() / CLOCKS_PER_SEC * 1000 – start_time < ms ) ;

}


http://www.ppmy.cn/news/810110.html

相关文章

【51单片机】定时器产生指定延迟的delay函数

可以自己输入的延迟时间,灵活性高下面代码定时1ms&#xff0c;用户可以自行更改定时器初值 void delay(unsigned int n)//STC89C52,晶振:11.0592MHZ { int i;for(i0;i<n;i){TMOD & 0xF0; TMOD | 0x01; //定时器0,工作模式1TH0 0xFC; //至初值TL0 0x66; //定时1…

Arduino延迟函数delay(),以及为什么不应该使用它

delay()函数 delay()工作方式非常简单。它接受单个整数&#xff08;或数字&#xff09;参数。此数字表示时间&#xff08;以毫秒为单位&#xff09;。当程序遇到这个函数时&#xff0c;应该等到下一行代码。然而&#xff0c;问题是&#xff0c;delay()函数并不是让程序等待的好…

简述一下延时函数delay怎么用

void delay(unsigned int t) //括号里面的是参数&#xff0c;可以定义在函数前面&#xff0c;这里为了方便就定义在这里{while&#xff08;t--&#xff09;&#xff1b; //将t定义为无符号整型&#xff0c;16位&#xff0c;是为了能延时更长时间 } …

c语言的单片机delay延时函数详解

c语言及单片机delay延时函数 环境 延时函数一、是什么二、为什么三、用在哪里?四、怎么做1、循环延时2、定时器延时 环境 开发环境&#xff1a;NY-IDE 单片机 &#xff1a;NY8B062D 延时函数 延时函数&#xff0c;作为一种常用函数&#xff0c;在不同的领域有不同的用处。而…

【MySQL系列】表的学习及基本操作

「前言」文章内容大致是数据库表的基本操作 「归属专栏」MySQL 「主页链接」个人主页 「笔者」枫叶先生(fy) 「枫叶先生有点文青病」「句子分享」 人生当苦无妨&#xff0c;良人当归即好。 ——烽火戏诸侯《雪中悍刀行》 目录 一、创建表二、修改表三、 删除表 一、创建表 创建…

GPIO8种工作模式

前言&#xff1a; GPIO是单片机通用的输入输出引脚&#xff0c;基本用途可作为开关&#xff0c;常用于控制LED亮灭、蜂鸣器的鸣响、电机的转停&#xff0c;但由于驱动能力不够&#xff0c;常常要与三极管一起使用。其它的高级用途如I/O作为输入引脚&#xff0c;可检测外部的中…

BT 种子,磁力链接是个啥?

[科普向] BT 种子、磁力链接到底是什么&#xff1f; BitTorrent 我们平时所说的 BT 种子&#xff0c;实际上指的是由 BitTorrent 协议所生成的一个包含资源信息的文件。与传统的网络传输协议不同&#xff0c;BitTorrent 协议是一种以 Peer-To-Peer&#xff08;P2P&#xff09…

【无公网IP】在外Windows远程连接MongoDB数据库

文章目录 前言1. 安装数据库2. 内网穿透2.1 安装cpolar内网穿透2.2 创建隧道映射2.3 测试随机公网地址远程连接 3. 配置固定TCP端口地址3.1 保留一个固定的公网TCP端口地址3.2 配置固定公网TCP端口地址3.3 测试固定地址公网远程访问 转载自cpolar极点云文章&#xff1a;公网远程…