ARDUINO 中断
设置中断函数
attachInterrupt()
attachInterrupt(interrupt, function, mode) 
描述: 
当发生外部中断时,调用一个指定函数。当中断发生时,该函数会取代正在执行的程序。大多数的Arduino板有两个外部中断:0(数字引脚2)和1(数字引脚3)。 
arduino Mege有四个外部中断:数字2(引脚21),3(20针),4(引脚19),5(引脚18)。 
参数: 
interrupt:中断引脚数 
function:中断发生时调用的函数,此函数必须不带参数和不返回任何值。该函数有时被称为中断服务程序。 
mode:定义何时发生中断以下四个contstants预定有效值:
- LOW: 当引脚为低电平时,触发中断
 - CHANGE: 当引脚电平发生改变时,触发中断
 - RISING: 当引脚由低电平变为高电平时,触发中断
 - FALLING: 当引脚由高电平变为低电平时,触发中断
 
返回值: 
无 
注意事项: 
当中断函数发生时,delay()和millis()的数值将不会继续变化。当中断发生时,串口收到的数据可能会丢失。你应该声明一个变量来在未发生中断时储存变量。 
使用中断: 
在单片机自动化程序中当突发事件发生时,中断是非常有用的,它可以帮助解决时序问题。一个使用中断的任务可能会读一个旋转编码器,监视用户的输入。 
如果你想以确保程序始终抓住一个旋转编码器的脉冲,从来不缺少一个脉冲,它将使写一个程序做任何事情都要非常棘手,因为该计划将需要不断轮询的传感器线编码器,为了赶上脉冲发生时。其他传感器也是如此,如试图读取一个声音传感器正试图赶上一按,或红外线槽传感器(照片灭弧室),试图抓住一个硬币下降。在所有这些情况下,使用一个中断可以释放的微控制器来完成其他一些工作。
int pin = 13;
volatile int state = LOW; void setup()
{
pinMode(pin, OUTPUT);
attachInterrupt(0, blink, CHANGE);
} void loop()
{
digitalWrite(pin, state);
} void blink()
{
state = !state;
}
detachInterrupt()
detachInterrupt(interrupt) 
描述: 
关闭给定的中断。 
参数: 
interrupt: 中断禁用的数(0或者1)。
ARDUINO 中断的更多相关文章
- Arduino IDE for ESP8266 项目(1) 点亮灯+按键LED+pwm
		
官方文档 http://esp8266.github.io/Arduino/versions/2.1.0/doc/libraries.html 引脚口说明 http://yfrobot.com/thr ...
 - Arduino教程资料汇总(8月22日悄悄跟新了一下)
		
http://www.geek-workshop.com/thread-985-1-1.html 本帖最后由 迷你强 于 2013-8-31 12:36 编辑 =====F-101 arduino基础 ...
 - YL-64 颜色传感器
		
TCS3200颜色传感器是一款全彩的颜色检测器,包括了一块TAOS TCS3200RGB感应芯片和4个白光LED灯,TCS3200能在一定的范围内检测和测量几乎所有的可见光.它适合于色度计测量应用领域 ...
 - TCS3200颜色传感器测试实验
		
TCS3200颜色传感器测试实验 2013-08-02 17:18:24 分享: 标签: Arduino TCS3200 传感器 TCS3200颜色传感器是一款全彩的颜色检测器,包括了一块TAO ...
 - AVR/Arduino定时/计数器、中断入门
		
在Arduino中,可以使用AnalogWrite来使用硬件产生490Hz/980Hz的pwm波,并可根据参数来设定占空比.不了解这个的同学可以去AnalogWrite学习下,SecretsOfArd ...
 - [Arduino] 外部中断
		
原文:http://www.arduino.cn/thread-2421-1-1.html 1.什么是中断? 试想一下,你正在家里吃饭,这时传来了敲门声,虽然你巨饿,虽然面前全是山珍海味,但此时你不得 ...
 - Arduino的外部中断
		
Arduino的中断函数格式为attachInterrupt(interrput,function,mode). attachInterrupt函数用于设置外部中断,有3个参数,interrput表示 ...
 - Arduino系列之中断函数
		
今天我将简单记录中断函数 函数分为外部中断和定时中断 外部中断的定义:一般由外设发出中断请求,如:键盘中断.打印机中断.外部中断需外部中断源发出中断请求才能发中断. 定时中断的定义:是指主程序在运行一 ...
 - 了解 ARDUINO 101* 平台
		
原文链接 简介 作为一名物联网 (IoT) 开发人员,您需要根据项目的不同需求,选择最适合的平台来构建应用. 了解不同平台的功能至关重要. 本文第一部分比较了 Arduino 101 平台和 Ardu ...
 
随机推荐
- jQuery中的事件绑定的几种方式
			
jQuery目前有on(),bind(),delegate(),live()四种绑定方式,但是随着版本的不断更新,有的方式也相应的被淘汰掉 [band()方式绑定] 3.0版本之前的绑定方式比较常用的 ...
 - 菜鸟入门【ASP.NET Core】8:Middleware管道介绍、自己动手构建RequestDelegate管道
			
中间件:是汇集到以处理请求和响应的一个应用程序管道的软件. 每个组件: 可以选择是否要将请求传递到管道中的下一个组件. 之前和之后调用管道中的下一个组件,可以执行工作. 使用请求委托来生成请求管道. ...
 - 性能监控(2)–linux下的vmstat命令
			
vmstat它可以统计CPU.内存使用情况.swap使用情况等信息.它还可以指定采样周期和次数.
 - nginx重启服务
			
修改完nginx配置后,需要使用 nginx -s reload使修改的配置生效,配置生效是平滑的,不会对访问产生任何影响reload后会启动新的进程接受新请求,对于未处理完的请求还是用老的配置,直到 ...
 - 如何判断页面是pc端还是移动端,进入不同的页面
			
vue判断是pc端还是移动端分别进入不同的页面 判断移动端代码如下: function IsPC(){ var userAgentInfo = navigator.userAgent; var Age ...
 - HTML命名规范
			
一.关于选择器的命名 W3C CSS2.1的 4.1.3 节中提到:标识符(包括选择器中的元素名,类和ID)只能包含字符[a- zA-Z0-9]和ISO 10646字符编码U+00A1及以上,再加 ...
 - 小tips:JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)
			
在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法. JSON.stringify(obj)将JSO ...
 - CSS效果:CSS实用技巧制作三角形以及箭头效果
			
实现如图所示的三角形图标: html代码如下: <div class="arrow-up"></div> <div class="arrow ...
 - 使用脚手架快速搭建React项目
			
create-react-app是Facebook官方推出的脚手架,基本可以零配置搭建基于webpack的React开发环境步骤: 打开控制台 进入你想要创建项目的目录文件下面 依次执行以下命令 np ...
 - React自己写的一个地图小组件
			
由于今天比较闲,就玩了玩react,然后就封装了一个地图的组件,当然功能比较简单,因为就是随手写的小东西,但是由于引用了百度API和bee-mobile,所以用起来可能要薛微麻烦一点点,但是我保证,只 ...