打印

关于HALT的用法

[复制链接]
2200|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mugangzhu|  楼主 | 2010-1-13 11:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
同一个程序里面可不可以用两个HALT,按键扫描用一个,输出定时用一个?会有什么影响?
沙发
warm_ice| | 2010-1-13 11:28 | 只看该作者
一般是没有问题的,只是要注意一下进入HALT前保证有中断是打开的.

使用特权

评论回复
板凳
mugangzhu|  楼主 | 2010-1-13 11:31 | 只看该作者
呵呵,谢谢啊
进入HALT前保证有中断是打开的,不太明白是什么意思啊?

使用特权

评论回复
地板
warm_ice| | 2010-1-13 11:40 | 只看该作者
不开任何中断的话,进入HALT,就不能唤醒了.

使用特权

评论回复
5
mugangzhu|  楼主 | 2010-1-13 11:50 | 只看该作者
可是我想知道两个定时中断呢,从中断中跳出来他怎么就知道进入那个HALT模式呢?

使用特权

评论回复
6
warm_ice| | 2010-1-13 12:10 | 只看该作者
从你的描述中了解到,您还不了解什么叫中断.
中断是在程序正常执行的过程中,插入紧急需处理的事情,中断插入前,程序会保存现场,然后执行中断,中断执行完毕后再返回原来的主程序的位置继续执行.
因为有保存现场,恢复现场的部分,所以不会跑错.

使用特权

评论回复
7
mugangzhu|  楼主 | 2010-1-13 12:42 | 只看该作者
呵呵,你没明白我什么意思的

使用特权

评论回复
8
mugangzhu|  楼主 | 2010-1-13 12:46 | 只看该作者
我的意思是说,有中断的话他怎么就知道进入第一个HALT还是进入第二个HALT,因为中断服务程序中用的RTNI返回指令啊,

使用特权

评论回复
9
warm_ice| | 2010-1-13 13:24 | 只看该作者
本帖最后由 warm_ice 于 2010-1-13 13:34 编辑

呵呵,我不明白你的意思?也许吧.....
我在6楼的回复中已经把什么是中断,及中断是怎么运作的一并回复了.

从8楼您的回复中了解到,您可能还需要明白以下几点:
1.既然叫"中断",就是在主程序的执行过程中,打断主程序,插入中断程序.
2.中断可能在"任意"位置插入,这个我们一般不用太过关心.
3.HALT和中断返回的关系:应该是先已经进入了HALT模式,然后产生中断,中断执行后,返回到原HALT下一条继续执行,因为在响应中断前和之后会有压栈和出栈的过程(即保存现场和恢复现场)

使用特权

评论回复
10
mugangzhu|  楼主 | 2010-1-13 13:48 | 只看该作者
非常感谢您的指导,看来我的理解能力太差了啊

使用特权

评论回复
11
yxb0310| | 2010-1-14 10:52 | 只看该作者
又被忽悠了,我以为讲的是HART协议。。。。。

使用特权

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

本版积分规则

70

主题

358

帖子

1

粉丝