找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2039|回复: 6
打印 上一主题 下一主题
收起左侧

中断服务和函数调用的相同点和不同点,求指点

[复制链接]
跳转到指定楼层
楼主
ID:924919 发表于 2021-7-8 10:39 来自手机 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
如题
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

7#
ID:123289 发表于 2021-7-9 09:07 | 只看该作者
记住,无论上面说了多少,最重要的只有一点:
例如:你有一个程序是“救火“的,一旦发生“火灾”必须立即执行救火!
如果,程序正在执行一般函数,则:发生“火灾”时,你可以立即转去救火!
如果,程序正在执行一个中断服务函数,则:发生“火灾”时,你【不一定】能立即转去救火!
所以通用的要求是,中断服务函数要尽可能的执行时间短!忌讳在其中使用延时、复杂计算……。因为它会影响你“救火”。
最重要的一点是:中断服务函数,【不一定】能被另一个中断打断。而一般函数必定可以被另一个中断打断。

回复

使用道具 举报

6#
ID:97350 发表于 2021-7-9 08:35 | 只看该作者
沙发兄弟解释正确
回复

使用道具 举报

5#
ID:531720 发表于 2021-7-8 15:11 | 只看该作者
中断函数和函数调用的区别在于:中断函数是一来中断就停止执行目前这个任务或者中断优先级比它低的任务,跑去执行触发这个中断的事件,函数调用是顺序执行的。
共同点:都会跳转到相应的位置上再去执行
回复

使用道具 举报

地板
ID:689247 发表于 2021-7-8 12:03 | 只看该作者
调用函数:在while大循环中,你写在while循环中的函数,会从头到尾,按照顺序执行,就是调用。调用函数就是程序跑到这个函数的时候,就会进入函数,实现功能。
中断函数:中断有一定条件,以外部中断为例,如果引脚上点平不改变(就是没有中断),程序就不会进入中断函数,只有中断来的时候,才会进入。
因为这个中断函数在程序中是不用调用的。写好了放在那里,等中断来了自己就到中断函数中去。而且中断来的时候,不管单片机程序执行到哪里,都会先进入中断,跑完了中断,再返回过来执行刚才的函数。

总而言之:调用函数,程序执行到就调用。中断函数,中断来的时候才调用。
回复

使用道具 举报

板凳
ID:539024 发表于 2021-7-8 11:28 | 只看该作者
相同点的话,就是他们都需要跳转到相应的位置执行相应的程序
回复

使用道具 举报

沙发
ID:539024 发表于 2021-7-8 11:26 | 只看该作者
中断服务是可以打断当前正在执行的程序的,就是不管现在程序在干什么,如果有中断触发他都必须去执行(前提是这个中断优先级高),而函数调用是实现安排好的,只是你日程表上的其中一件事,程序是一条一条执行的,只有执行到那个函数时才会被调用
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表