色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Arduino篇—外部中斷

冬至子 ? 來源:X的創客課堂 ? 作者:MRXY ? 2023-11-01 17:29 ? 次閱讀

課程目標

  • 中斷程序的應用
  • arduino的中斷函數
  • 中斷程序的實際應用

相關知識

中斷程序: 中斷程序可以看作是一段獨立于主程序之外的程序,當中斷觸發時,控制器會暫停當前正在運行的主程序,而跳轉去運行中斷程序,中斷程序運行完后,會再回到之前主程序暫停的位置,繼續運行主程序。

圖片

在程序的運行中,我們時常需要監控一些事件的發生,比如對某一傳感器的返回數據進行解析。隨著程序功能增加,輪詢到指定功能時需要等待的時間變長,效率會很低。而使用中斷方式檢測,可以到達實時檢測的效果。

**Arduino的中斷函數:**外部中斷和定時中斷

外部中斷的定義: 一般由外設發出中斷請求,如:鍵盤中斷、打印機中斷、外部中斷需外部中斷源發出中斷請求才能發中斷。

attach interrupt(interrupt,function,mode)

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

2)function:調用中斷函數,中斷發生時調用的函數

3)mode:中斷觸發模式

low 當針腳輸入為低時,觸發中斷

change 當針腳輸入發生變化時,觸發中斷

rising 當針腳由低變高時,觸發中斷

falling 當針腳由高到低時,觸發中斷

定時中斷的定義: 是指主程序在運行一段程序過后自動進行的中斷服務程序。

常見的定時庫有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()
{}

使用外部中斷注意:

1.中斷服務程序不能夠有參數和返回值,即void Function name(void){}
2.在中斷函數中delay()函數將不起作用
3.在中斷函數中millis()函數的值不會增加
4.得到的串行數據將會丟失
5.需在中斷函數內部更改的值需聲明為volatile類型

電路搭建

所需材料

ArduinoUNO * 1
震動傳感器模塊 * 1
LED * 1
220Ω電阻 * 1
杜邦線若干

電路連接

圖片

程序編寫

練習一:震動監測

不使用中斷的方式實現監測到震動后,LED點亮兩秒后熄滅,再次監測到震動后,再次點亮。

圖形化方式:

直接用條件判斷的方式實現了這個功能

圖片

代碼方式:

/* 項目名稱:條件判斷制作震動監測
 * 項目時間:2022.03.15
 * 項目作者:MRX
 */
const int LedPin = 9;
const int SensorPin = 2;
void setup() {
  pinMode(LedPin,OUTPUT);
  pinMode(SensorPin,INPUT);
  digitalWrite(LedPin,LOW);
}


void loop() {
  if(digitalRead(SensorPin) == LOW){
    digitalWrite(LedPin,HIGH);
    delay(1000);
  }
  else{
    digitalWrite(LedPin,LOW);
  }


}

練習二:震動監測

使用中斷方式實現上述功能。

圖形化方式:

圖片

代碼方式:

/* 項目名稱:中斷制作震動監測
 * 項目時間:2022.03.15
 * 項目作者:MRX
 */
const int LedPin = 9;
const int SensorPin = 2;
char state = LOW;
void setup() {
  pinMode(LedPin,OUTPUT);
  pinMode(SensorPin,INPUT);
  attachInterrupt(0, blink, FALLING);
  digitalWrite(LedPin,LOW);
}
void loop() {
   if (state == HIGH) {        // 如果state為HIGH
    state = LOW;
    digitalWrite(LedPin, HIGH);  // 亮燈
    delay(500);          //延時500ms
  }
  else {
    digitalWrite(LedPin, LOW);    // 否則,關燈
  }
}
void blink() {               //中斷函數blink()
  state = !state;             //一旦中斷觸發,state狀態反轉
}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 傳感器
    +關注

    關注

    2552

    文章

    51356

    瀏覽量

    755622
  • led燈
    +關注

    關注

    22

    文章

    1592

    瀏覽量

    108225
  • 外部中斷
    +關注

    關注

    1

    文章

    132

    瀏覽量

    15857
  • Arduino
    +關注

    關注

    188

    文章

    6477

    瀏覽量

    187541
  • 定時中斷
    +關注

    關注

    0

    文章

    19

    瀏覽量

    8597
收藏 人收藏

    評論

    相關推薦

    外部按鍵中斷精準控制步進電機起保停,正反轉(Arduino+TB6600驅動器)資料下載

    外部按鍵中斷精準控制步進電機起保停,正反轉(Arduino+TB6600驅動器)這次帶來的是真正意義上的通過外部中斷來實現控制的,前面一
    發表于 06-29 07:19

    Arduino外部中斷的相關資料分享

    外部中斷外部中斷是由控制器設備發起的中斷請求。停止再在執行的內容去執行中斷函數中的內容
    發表于 02-15 06:34

    arduino定時中斷外部中斷怎么用?

    arduino定時中斷怎么用和外部中斷怎么用,可不可以和51單片機一樣使用
    發表于 11-08 07:43

    stm32外部中斷系列

    實現步驟1.如果串口中斷先配置串口,gpio中斷先配置gpio2.串口中斷組的選擇3.串口外部中斷控制器時鐘打開4.用
    發表于 11-26 12:36 ?2次下載
    stm32<b class='flag-5'>外部</b><b class='flag-5'>中斷</b>系列

    arduino 中斷 和millis語句

    arduino 中斷 和millis語句Arduino中支持如下幾種中斷: RESET中斷外部
    發表于 12-14 18:49 ?1次下載
    <b class='flag-5'>arduino</b> <b class='flag-5'>中斷</b> 和millis語句

    Arduino中斷學習

    提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔文章目錄Arduino中斷一、外部中斷學習1、Arduino 開發板的
    發表于 12-16 16:47 ?3次下載
    <b class='flag-5'>Arduino</b><b class='flag-5'>中斷</b>學習

    Arduino 外部中斷

    外部中斷外部中斷是由控制器設備發起的中斷請求。停止再在執行的內容去執行中斷函數中的內容
    發表于 12-16 16:51 ?11次下載
    <b class='flag-5'>Arduino</b> <b class='flag-5'>外部</b><b class='flag-5'>中斷</b>

    arduino系列教程之觸摸開關(外部中斷)開關小燈led

    一、首先是要了解一下arduino中斷模式有啥?哪些可以觸發中斷?二、接著是,了解不同芯片型號的arduino,可以接收外部
    發表于 12-16 16:51 ?8次下載
    <b class='flag-5'>arduino</b>系列教程之觸摸開關(<b class='flag-5'>外部</b><b class='flag-5'>中斷</b>)開關小燈led

    STM32外部中斷

    中斷都知道是怎么回事了外部中斷是怎么配置的吶?外部中斷又稱IO中斷/事件控制器(EXTI)
    發表于 01-14 15:14 ?2次下載
    STM32<b class='flag-5'>外部</b><b class='flag-5'>中斷</b>

    STM32---外部中斷

    目錄1.外部中斷描述2.外部中斷框圖總結:經過分析框圖,可以產生軟件中斷和事件中斷,軟件
    發表于 01-14 15:25 ?7次下載
    STM32---<b class='flag-5'>外部</b><b class='flag-5'>中斷</b>

    ARDUINO微控制器外部中斷處理

    電子發燒友網站提供《ARDUINO微控制器外部中斷處理.zip》資料免費下載
    發表于 10-27 11:50 ?2次下載
    <b class='flag-5'>ARDUINO</b>微控制器<b class='flag-5'>外部</b><b class='flag-5'>中斷</b>處理

    第八章 外部中斷

    第一節原理解讀打算寫一下中斷,又忍不住想說一下中斷的概念,去書上翻一翻,或者自己在搜索引擎上搜一下,都可以找到一大堆,包括本文寫的這個外部中斷也不例外。如果要寫光是
    的頭像 發表于 01-25 09:30 ?1469次閱讀
    第八章 <b class='flag-5'>外部</b><b class='flag-5'>中斷</b>

    STM32如何配置外部中斷?STM32外部中斷配置步驟

    STM32如何配置外部中斷?STM32外部中斷配置步驟? 作為一款現代化的微控制器,STM32系列芯片在各種應用場合中廣泛應用。其中最常見的應用是
    的頭像 發表于 10-26 17:47 ?3807次閱讀

    STM32外部中斷大問題

    問題:一直進入中斷,沒有觸發信號,也一直進入。描述:開PA0為外部中斷,剛剛很好,一個觸發信號一個中斷中斷函數沒有丟,也沒有搶跑,開PA1
    的頭像 發表于 11-08 08:00 ?2465次閱讀
    STM32<b class='flag-5'>外部</b><b class='flag-5'>中斷</b>大問題

    外部中斷的工作原理 外部中斷方式有哪些 為什么要使用外部中斷

    外部中斷的工作原理是單片機響應外部事件的一種機制** **。
    的頭像 發表于 01-28 17:37 ?3847次閱讀
    主站蜘蛛池模板: 免费精品一区二区三区在线观看| 国产av免费观看日本| zoovideo人与驴mp4| 交换娇妻呻吟声不停中文字幕| 日韩成人性视频| 99久久蜜臀AV免费看蛮| 久久99r66热这里有精品| 性色AV乱码一区二区三区视频| RUNAWAY韩国动漫免费网| 久久伊人天堂视频网| 亚洲影院在线播放| 国产精品99久久久久久AV色戒| 青青草伊人网| wwww69| 免费毛片视频网站| 中文字幕一区中文亚洲| 久久精品电影久久电影大全| 亚洲精品久久久午夜福利电影网 | 色综合久久久久久| 超碰在线视频公开| 日本xxx护士与黑人| 厕所xxxxx| 日韩精品特黄毛片免费看| VIDEOSGGRATIS欧美另类| 女人一级毛片免费观看| 99精品影院| 欧美日韩另类在线专区| nxgx69日本护士| 日久精品不卡一区二区| 第一怡春院| 天天操狠狠操夜夜操| 国产AV亚洲国产AV麻豆| 午夜看片a福利在线观看| 国产亚洲精品第一区香蕉| 亚洲精品国偷拍自产在线| 九九精品视频一区二区三区| 伊人久久大香线蕉电影院| 老司机福利视频一区在线播放| 88.7在线收听| 日本人xxxⅹ18hd19hd| 国产AV精品久久久免费看|