标题:
关于单片机长延时函数
[打印本页]
作者:
m182892
时间:
2019-8-28 08:50
标题:
关于单片机长延时函数
长延时用Delay会影响系统正常工作,不用Delay只用定时器分别延时10秒,15分钟、1小时封装成函数,需要使用延时时就调用这个函数,怎样做才能达到这个要求。
作者:
fade@zds
时间:
2019-8-28 21:19
你可以考虑while(1)再使用中断跳出来
作者:
wulin
时间:
2019-8-28 22:09
只要学会使用定时器和标志位,就可以获得大于1us的任意时长的延时时间。没有人会去考虑封装成函数。
作者:
yzwzfyz
时间:
2019-8-29 15:07
“定时器”这三个字的意思是什么呢?就只能一个DELAY吗?
作者:
没有你
时间:
2019-8-30 10:15
可以考虑搞一个系统时间计时变量long类型的 system_time,在写一个1ms的定时器中断程序,在定时器中断处理函数里面让system_time++,这样每1ms,system_time就会累加1。假设要延时10秒,可以用old_time = system_time获取旧时间,然后用new_time = system_time获取新时间,再判断if(new_time - old_time >=10000),如果满足,就说明10秒到了。延时15分钟,还是延时1小时,也是可以这样处理。
作者:
qweo23
时间:
2019-8-30 16:01
使用定时器和标志位,设置好所需的初始值就行 不需要封装成函数了,定时器是不能封装成函数的
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1