今天我将简单记录中断函数

函数分为外部中断和定时中断

外部中断的定义:一般由外设发出中断请求,如:键盘中断、打印机中断、外部中断需外部中断源发出中断请求才能发中断。

定时中断的定义:是指主程序在运行一段程序过后自动进行的中断服务程序。

interrupt  可以被中断的代码

nointerrupt  可以被中断的代码

外部中断:

attach interrupt(interrupt,function,mode)

1)interrupt:中断号,UNO只用0,1,即代表D2,D3口

2)function:调用中断函数,中断发生时调用的函数

3)mode:中断触发模式

UNO R3支持四种模式

low  当针脚输入为低时,触发中断

change 当针脚输入发生变化时,触发中断

rising 当针脚由低变高时,触发中断

falling 当针脚由高到低时,触发中断

1.中断服务程序不能够有参数和返回值,即void Function name(void){}

2.在中断函数中delay()函数将不起作用

3.在中断函数中millis()函数的值不会增加

4.得到的串行数据将会丢失

5.需在中断函数内部更改的值需声明为volatile类型

detach interrupt (interrupt)

定时中断

常见的定时库有FlexiTimer2.h和Ms.Timer2.h

void start()         开启定时中断

void stop()         关闭定时中断

#include<MsTimer2.h>

void flash()

{

static boolean cutput=HIGH;

digitalWrite(13,OUTPUT);

OUTPUT=!OUTPUT;

MsTimer2:set(500,flash);

MsTimer2:start();

}

void loop()

{}

Arduino系列之中断函数的更多相关文章

  1. Arduino的外部中断

    Arduino的中断函数格式为attachInterrupt(interrput,function,mode). attachInterrupt函数用于设置外部中断,有3个参数,interrput表示 ...

  2. 深入理解javascript函数系列第一篇——函数概述

    × 目录 [1]定义 [2]返回值 [3]调用 前面的话 函数对任何一门语言来说都是一个核心的概念.通过函数可以封装任意多条语句,而且可以在任何地方.任何时候调用执行.在javascript里,函数即 ...

  3. 深入理解javascript函数系列第二篇——函数参数

    × 目录 [1]arguments [2]内部属性 [3]函数重载[4]参数传递 前面的话 javascript函数的参数与大多数其他语言的函数的参数有所不同.函数不介意传递进来多少个参数,也不在乎传 ...

  4. Arduino101学习笔记(九)—— 中断函数

    1.设置中断函数 //***************************************************************************************** ...

  5. arduino上使用sprintf()函数输出float值出错

    如果尝试使用sprintf()函数在arduino上进行对float指转换为一个字符串的话,你会发现,it doesn't work.弄了很久,还以为是没学c++的原因.其实在arduino上,这个函 ...

  6. MSP430的看门狗常见用法以及中断函数的书写方法

    今天下午看了一下MSP430的看门狗的基本用法 看门狗是为了防止程序跑飞而设定的,但是由于看门狗是一个类似于定时器,因此可以把他当作定时器来使用 示例代码:用看门狗定时器使一个led闪烁 #inclu ...

  7. 关于C51的中断函数要注意的几个问题

    转载自:http://blog.21ic.com/user1/531/archives/2006/16909.html 最近在虾潭逛,发现一些小虾米对C51中断函数有些不了解,今天周末,抽空发个技术帖 ...

  8. C51编译器扩展的关键词 & C51中断函数的写法

    C51根据单片机的特性扩展了相关的关键字,如下表示: 关键词 用途 说明 bit 位变量声明 声明了一个位变量或者位类型的函数 sbit 位变量声明 声明了一个可位寻址变量 sfr 特殊功能寄存器声明 ...

  9. SSE 系列内置函数中的 shuffle 函数

    SSE 系列内置函数中的 shuffle 函数 邮箱: quarrying@qq.com 博客: http://www.cnblogs.com/quarryman/ 发布时间: 2017年04月18日 ...

随机推荐

  1. 从零开始のcocos2dx生活(六)EventDispatcher

    EventDispatcher可能是所有的里面比较不容易理解也不容易看的 我说自己的理解可能会误导到你们-[索了你们看不下去>< 我写了几乎所有的代码的注释,有的是废话跳过就好 主要的代码 ...

  2. 洛谷$P2605\ [ZJOI2010]$基站选址 线段树优化$dp$

    正解:线段树优化$dp$ 解题报告: 传送门$QwQ$ 难受阿,,,本来想做考试题的,我还造了个精妙无比的题面,然后今天讲$dp$的时候被讲到了$kk$ 先考虑暴力$dp$?就设$f_{i,j}$表示 ...

  3. CommandPattern(命令模式)-----Java/.Net

    命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式.请求以命令的形式包裹在对象中,并传给调用对象.调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该 ...

  4. SpringBoot基础架构篇1(SpringBoot、MyBatis-Plus与Thymeleaf)

    show me the code and talk to me,做的出来更要说的明白 我是布尔bl,你的支持是我分享的动力! 1 引入 使用 MyBatis-Plus 以及 thymeleaf 实现增 ...

  5. 通俗易懂理清mybatis中SqlSessionSql、SqlSessionTemplate、SessionFactory和SqlSessionFactoryBean之间的关系

    我潇洒的灰大狼又回来啦.今天送大家的一句话是: 保持耐心,永远年轻,永远热泪盈眶. 前言 先容我哭一会儿,呜呜呜~昨晚写了一半的文章,还没保存就盖上盖子准备回家,拔下电源准备把电脑塞进书包带回家完成时 ...

  6. 最新idea注册激活(永久使用,亲测可用)

    IDEA破解 一.2018版本 首先下载此破解jar包:破解jar包,将其放到合适的文件夹(首选IDEA的同级目录)进行管理: 进入IDEA的根目录,打开bin文件夹中的idea.exe.vmopti ...

  7. Mac重装操作系统系统

    恢复出厂设置 第一种 1.开机 2.commond + R,进入recover模式. 3.选择磁盘工具 4.显示所有设备 5.抹掉硬盘.格式选择 (1):Mac OS 扩展(日志式). (2): Ma ...

  8. [小技巧] Windows 命令行显示英文

    在 Windows 里 " 运行" 使用 cmd 进行命令行, 如果是Windows 中文版的话,里面的命令输出是中文. 如果要显示英文的话,可以使用如下的命令: chcp 437 ...

  9. SliverAppBar 介绍及使用

    SliverAppBar控件可以实现页面头部区域展开.折叠的效果,类似于Android中的CollapsingToolbarLayout.先看下SliverAppBar实现的效果,效果图如下: Sli ...

  10. Core 定时任务之HangFire

    ASP.NET Core 使用 Hangfire 很简单,首先,Nuget 安装程序包 > install-package Hangfire -pre 然后ConfigureServices添加 ...