打印
[51单片机]

要延时几小时的话怎么做比较好?

[复制链接]
1497|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
fasm|  楼主 | 2016-1-23 16:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问用循环延时还是用定时器比较好?或者有其他的方法!谢谢!

相关帖子

沙发
JY-DX-JY| | 2016-1-23 16:18 | 只看该作者
当然定时器了,设几个计数器。

使用特权

评论回复
板凳
fasm|  楼主 | 2016-1-23 16:27 | 只看该作者
了解了,我去试试!

使用特权

评论回复
地板
fasm|  楼主 | 2016-1-23 16:35 | 只看该作者
JY-DX-JY 发表于 2016-1-23 16:18
当然定时器了,设几个计数器。

再问个问题!在串口发送后使用定时器T0延时2min,此时串口中断会不会被定时器中断打断啊?

使用特权

评论回复
5
JY-DX-JY| | 2016-1-23 16:38 | 只看该作者
有可能,看谁的优先级高了

使用特权

评论回复
6
fasm|  楼主 | 2016-1-23 17:00 | 只看该作者
JY-DX-JY 发表于 2016-1-23 16:38
有可能,看谁的优先级高了

那是否需要手动把串口中断优先级提高,然后降低T0的优先级?

使用特权

评论回复
7
JY-DX-JY| | 2016-1-23 17:09 | 只看该作者
是什么单片机?51吗?如果可以调,那就手动提高串口中断优先级。提高之后,定时器中断就不会打断串口中断了。

使用特权

评论回复
8
fasm|  楼主 | 2016-1-23 17:27 | 只看该作者
JY-DX-JY 发表于 2016-1-23 17:09
是什么单片机?51吗?如果可以调,那就手动提高串口中断优先级。提高之后,定时器中断就不会打断串口中断了 ...

是51

使用特权

评论回复
9
zyj9490| | 2016-1-23 21:00 | 只看该作者
fasm 发表于 2016-1-23 16:35
再问个问题!在串口发送后使用定时器T0延时2min,此时串口中断会不会被定时器中断打断啊? ...

如果串口中断不允许被打断或延时,就把定时器中断关闭,等接收结速后,再打开定时中断,2MIN定时丢失几十MS有何妨呢?

使用特权

评论回复
10
zyj9490| | 2016-1-23 21:04 | 只看该作者
请问串口主动还是被动的,低波特率不需要考量以上的问题,对高波特率才需要这样做,因为几MS一侦的刹时过去了,接收不了完整的一侦。

使用特权

评论回复
11
ddllxxrr| | 2016-1-23 22:00 | 只看该作者
用定时器中断,然后用整型变量多重循环,三重不行用四重

使用特权

评论回复
12
bbstr| | 2016-1-24 09:33 | 只看该作者
加个rtc芯片

使用特权

评论回复
13
bkn1860| | 2016-1-24 10:37 | 只看该作者
用RTC可以不用担心断电 ,重新上电还能继续。如果只用定时器,断电之后延时就废了

使用特权

评论回复
14
小马儿| | 2016-1-24 10:54 | 只看该作者
不能说延时几个小时的,在嵌入式系统中,说延时,一般就是这段时间会被独占,延时几个小时,还不让其他模块都死翘翘了,最好的说法还是需要几个小时后给我发送一个消息,我有一些事要做。

使用特权

评论回复
15
fasm|  楼主 | 2016-1-24 20:47 | 只看该作者
小马儿 发表于 2016-1-24 10:54
不能说延时几个小时的,在嵌入式系统中,说延时,一般就是这段时间会被独占,延时几个小时,还不让其他模块 ...

因为只用到串口发送,其他模块全都用不上。

使用特权

评论回复
16
fasm|  楼主 | 2016-1-24 20:51 | 只看该作者
多谢各位的回答,心里有个数,非常感谢!

使用特权

评论回复
17
coody| | 2016-1-24 22:06 | 只看该作者
当然是定时器中断,然后在中断里数数,1,2,3.。。。。

使用特权

评论回复
18
cliffboy| | 2016-1-25 15:50 | 只看该作者
定时器或者空操作指令,建议是定时器,不过话说好像没见过延时几小时的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

27

帖子

1

粉丝