YFROBOT创客社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 19133|回复: 7
打印 上一主题 下一主题

Arduino入门教程—拓展实验篇六 外部中断的使用

[复制链接]

签到天数: 867 天

[LV.10]以坛为家III

跳转到指定楼层
楼主
发表于 2013-6-19 19:37:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 AllBlue 于 2013-8-29 16:16 编辑

外部中断的使用

1、什么是中断呢?

可以举一个日常生活中的例子来说明,假如你正在给朋友写信,电话铃响了。这时,你放下手中的笔,去接电话。通话完毕,再继续写信。这个例子就表现了中断及其处理过程:电话铃声使你暂时中止当前的工作,而去处理更为急需处理的事情(接电话),把急需处理的事情处理完毕之后,再回头来继续原来的事情。

在这个例子中,电话铃声称为“中断请求”,你暂停写信去接电话叫作“中断响应”,接电话的过程就是“中断处理”,相应地,在计算机执行程序的过程中,由于出现某个特殊情况(或称为“事件”),使得暂时中止现行程序,而转去执行处理这一事件的处理程序,处理完毕之后再回到原来程序的中断点继续向下执行,这个过程就是中断

2、那我们为什么要使用中断呢?

再举一个例子,假设你有一个朋友来拜访你,但是由于不知道何时到达,你只能在大门等待,于是什么事情也干不了。如果在门口装一个门铃,你就不必在门口等待而去干其它的工作,朋友来了按门铃通知你,你这时才中断你的工作去开门,这样就避免等待和浪费时间,同样它能使得CPU的效率大大提高。

3、中断是怎样分类的呢?

产生中断请求的设备或事件称为“中断源”。从中断源来看,中断一般可分为三类:

      (1)由计算机硬件异常或故障引起的中断,也称为内部异常中断

             (2)由程序中执行了中断指令引起的中断,也称为软中断

      (3)外部设备(如输入输出设备)请求引起的中断,也称为外部中断I/O中断

在这三类中断中,外部中断我们接触得最多,好了中断相信介绍到这,大家了解的也差不多了~~~

下面我们就来介绍下Arduino的外部中断使用!

外部中断在不同的Arduino型号上位置也不同,只有外部中断发生在以下端口,Arduino才能捕获到,大部分Arduino控制板上有两个外部中断:数字0(数字端口2)和数字1(数字端口3),以下是常见的几种型号的外部中断引脚标号。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对

该用户从未签到

沙发
发表于 2014-1-6 12:34:49 | 只看该作者
这个如果是arduino mini怎么使用attachInterrupt(interrupt, function, mode)  这个interrupt代表了什么?
回复 支持 反对

使用道具 举报

签到天数: 867 天

[LV.10]以坛为家III

板凳
 楼主| 发表于 2014-1-6 14:40:48 | 只看该作者

中断引脚:0 -- 2号引脚
               1 -- 3号引脚
回复 支持 反对

使用道具 举报

签到天数: 115 天

[LV.6]常住居民II

地板
发表于 2018-8-6 18:25:23 | 只看该作者
不错的基础东西。值得赞啦
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2019-1-27 16:12:28 | 只看该作者
AllBlue 发表于 2014-1-6 14:40
中断引脚:0 -- 2号引脚
               1 -- 3号引脚

还是没有明白0和1是什么意思
回复 支持 反对

使用道具 举报

签到天数: 867 天

[LV.10]以坛为家III

6#
 楼主| 发表于 2019-1-29 14:41:29 | 只看该作者
1610092227 发表于 2019-1-27 16:12
还是没有明白0和1是什么意思

你结合代码就知道了

attachInterrupt(0, blink, CHANGE);//当int.0电平改变时,触发中断函数blink
回复 支持 反对

使用道具 举报

签到天数: 65 天

[LV.6]常住居民II

7#
发表于 2019-12-2 22:15:02 | 只看该作者
不错的基础东西。学习了。
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|小黑屋|联系我们|YFROBOT ( 苏ICP备20009901号-2  

GMT+8, 2024-11-21 17:36 , Processed in 0.056558 second(s), 28 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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