delay函数(延时函数延时时间计算有方法吗)

2022-09-22 02:44 阅读: 评论:
 

1.软件延时

利用多个指令的执行来延时,累加每个指令的运行时间,来计算出延时的总时间。一般写成一个延时函数。

如,以下是10ms软件延时。

delay_10ms() {

int c = 1000; // 调整常数,以达到要求的延时,但很难!

while(c != 0) {

c--;

}

}

以上函数被调用一次,就延时10ms,多次调用可以达到任意更大的时间要求。

!但是,在延时时,就其它什么事也做不了了,就是干等啊!


2.硬件延时

利用定时器/计数器芯片,或用微控制器内部的定时器/计数器,实际上,它就是对晶振的分频(分频系数可编程设置),得到一个精确的低频的周期信号,用这个周期信号(比如10ms)去触发中断,每10ms调用一次定时中断服务程序。在定时中断服务程序中加入计数变量,就可以得到任意的定时了。

在10ms没有到时,微控制器可以运行其它程序,10ms到时再自动进去中断服务程序以处理定时任务,不会像软件延时阻塞了。

3.操作系统中,都有个硬件延时,和定时中断,可以看ucos ii中的源码,节拍时钟,和汇编语言实现的定时中断。

4.硬件延时,要占用一个定时器/计数器硬件资源。

特别声明:

本文来源于网络,请核实广告和内容真实性,谨慎使用,本站和本人不承担由此产生的一切法律后果!

生小孩全过程(为什么生小孩一般在晚上的多) 新东方六级(星火和新东方哪个好) 网站制作费用(请问要注册一个中文域名要多少费用) 魔兽争霸不死族(魔兽争霸3冰封王座1.24兽族怎么击败不死族) 简历封面设计(个人简历封面在word里怎么做) 爱丽丝之死(文豪野犬爱丽丝结局) 数据库安全(数据库设计与应用过程中的安全性涉及到哪些方面 滚桶洗衣机(波轮洗衣机和滚筒洗衣机怎么区别) 纸盒包装设计(纸盒包装的几种结构形式有哪些) 点线面平面构成(是不是所有图形都是由点线面构成的?如果是,
热门文章
最近发表
友情链接