打印
[51单片机]

菜鸟问中断

[复制链接]
1370|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
d865841995|  楼主 | 2014-8-11 12:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
流年空人心| | 2014-8-11 12:38 | 只看该作者
中断是程序运行过程中,收到一个中断信号,弹出中断,执行中断程序,执行完后,再跳回到原来的程序继续运行,if语句执行完你的跳转程序,不知道能不能保持继续执行原来的程序,同新人

使用特权

评论回复
板凳
ayb_ice| | 2014-8-11 13:33 | 只看该作者
主循环必须等到程序程序运行到那才有检测

中断则不不同

使用特权

评论回复
地板
d865841995|  楼主 | 2014-8-11 14:32 | 只看该作者
流年空人心 发表于 2014-8-11 12:38
中断是程序运行过程中,收到一个中断信号,弹出中断,执行中断程序,执行完后,再跳回到原来的程序继续运行 ...

程序里加个返回语句什么的呢?

使用特权

评论回复
5
d865841995|  楼主 | 2014-8-11 14:34 | 只看该作者
ayb_ice 发表于 2014-8-11 13:33
主循环必须等到程序程序运行到那才有检测

中断则不不同

程序要大了主循环的时间长了,就能看出区别么?是这样么?除了这个还有什么区别,占用资源什么的有么

使用特权

评论回复
6
longmaodo| | 2014-8-11 15:33 | 只看该作者
d865841995 发表于 2014-8-11 14:34
程序要大了主循环的时间长了,就能看出区别么?是这样么?除了这个还有什么区别,占用资源什么的有么 ...

执行机制不一样 你写的IF是顺序执行的 中断是马上执行的
比如你在家打游戏,今天有人会给你送快递
你可以每隔10秒钟去门口看一眼有没有人来
这就是if
也可以等有人敲门时暂停游戏,去看看。
敲门就是中断
所以如果你没什么事 if也是可以的
但是如果你事情很多 中断就是必须的了
浅见

使用特权

评论回复
7
d865841995|  楼主 | 2014-8-11 17:07 | 只看该作者
longmaodo 发表于 2014-8-11 15:33
执行机制不一样 你写的IF是顺序执行的 中断是马上执行的
比如你在家打游戏,今天有人会给你送快递
你可 ...

谢谢,为了节省CPU资源还是尽量用中断呗!就是中断少,不像if可以任意加!

使用特权

评论回复
8
淼淼森森| | 2014-8-11 17:28 | 只看该作者
if语句相当于你的CPU一直要等待判断,中断则不用,满足条件直接执行,中断减轻了CPU的负担

使用特权

评论回复
9
醉别| | 2014-8-15 15:35 | 只看该作者
中断是由硬件检测的,中断发生时的跳转是硬件实现的强制跳转,即在中断发生时,PC被硬件赋值为对应中断的地址(此地址由芯片决定),一般在这个地址处放着一条JMP跳转指令来实现中断服务程序的执行;而函数的跳转是通过指令(比如call)实现的,即当PC指到这条call指令时才会跳转。所以中断其实是突发性的,而函数跳转其实是有时间顺序的。

使用特权

评论回复
10
moyue| | 2014-8-15 16:12 | 只看该作者
中断的反应时间要比if判断快,节省cpu资源

使用特权

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

本版积分规则

54

主题

293

帖子

6

粉丝