如何用C语言实现定时何延时功能

如何用C语言实现定时何延时功能,第1张

C语言中的两个函数

一个是 <windows.h> 库下的 Sleep()

效果为当前进程等待 Sleep(x) 毫秒

可以实现延时功能

另一个是 <time.h> 下的 time()

效果为返回当前时间,配合循环可以实现定时功能

以下是一个例子:

//刚写完

#include<stdio.h>

#include<windows.h>

#include<time.h>

int main()

{

printf("定时程序2秒后开启\n")

Sleep(2000)

printf("定时程序开启\n")

printf("当前时间戳是%s\n", time(NULL))

return 0

}

在单片机中,要延时程序尽量准确,可以:

-延时循环尽量简单,尽量少开变量比如:

Delay(unsigned int uDelay) { while ( uDelay-- )}

-在主程序中用一个GPIO测试,如:

SetGPIOHigh()Delay(1000)SetGPIOLOW()

-用示波器测量该GPIO波形及频率

-调整Delay函数的调用值,可以用变量,在调试时实时修改变量值,找到延时1毫秒的值,把Delay函数改名为Delay1ms,之后调用这个函数完成精确延时

-其他的延时函数也可以类似上述方法完成,但记住在调试和实际使用时要用同样的CPU主频。

-最精确的还是用定时器中断程序计时


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7934447.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存