zoukankan      html  css  js  c++  java
  • Arduino系列之中断函数

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

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

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

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

    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()

    {}

  • 相关阅读:
    将博客搬至CSDN
    IDEA安装对应版本的lombok才生效
    shift键复选dataGrid的记录时多余的文本总被选择了。
    git 导出新修改的文件
    svn老鸟转用git必须理解的概念
    java中Long类型和long类型的大小比较
    eclipse反编译插件jadClipse安装使用教程
    js闭包
    java泛型讲解
    常用加密解密算法【RSA、AES、DES、MD5】介绍和使用
  • 原文地址:https://www.cnblogs.com/fqhy/p/8000604.html
Copyright © 2011-2022 走看看