在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內(nèi)不再提示

單片機中提高作業(yè)效率的“中斷功能”解讀

電子設計 ? 來源:面包板社區(qū) ? 作者:面包板社區(qū) ? 2021-01-15 14:52 ? 次閱讀

我們已經(jīng)介紹了應用單片機的外設功能的結構和使用方法。本期我們介紹更有效地應用單片機而必須的外設功能——“中斷功能”。

提高作業(yè)效率的“中斷功能”指的是什么?

我們回顧一下本系列第二期的“定時器”篇中簡單介紹過的“中斷功能”概念。任何人都有過這樣的經(jīng)驗,就是“將雞蛋放進沸騰的熱水中,直到雞蛋煮熟的10分鐘內(nèi)要確認好幾次時鐘”的經(jīng)歷。在單片機的世界中也同樣,在等待某種狀態(tài)達成時,具有對對象進行定期檢查的方法。例如,在等待向GPIO(通用I/O端口)的輸入從0變?yōu)?時,程序可以一定的間隔來檢查GPIO的狀態(tài)。這種處理被稱為“輪詢”。

輪詢雖然是一種了解狀態(tài)變化的簡單方法,但是如果檢查的頻度低(間隔長)就會錯過變化,如果頻度過高(間隔短),即使查也查不到變化“空耗”。由于輪詢通過簡單的程序便能完成處理,所以在掌握對象的變化頻度時是有效的。但是,進行多次檢查也會給單片機帶來負荷,對功耗不利。

因此就要用到本期介紹的“中斷功能”。產(chǎn)生中斷時,CPU會暫時停止正在執(zhí)行的任務,轉而進行別的任務。也就是有別的任務“穿插”進來的意思(圖1) 。當中途穿插進來的任務結束后,CPU再返回處理原來的任務。

pIYBAGABOryAbCP_AAEXevBfszs377.png

圖1:中斷與輪詢

設想一下你在工作的同時煮雞蛋的情況。 由于你不想停下手中的工作,所以把雞蛋放入熱水中后就設置定時器并繼續(xù)工作,10分鐘后定時器一響就把雞蛋從熱水中撈起。這時,定時器的鳴叫就是中斷 ,而“把雞蛋從熱水中撈起”就是穿插進來的工作。大家可以通過這種方式來了解中斷功能。

單片機中的中斷處理

中斷產(chǎn)生于單片機內(nèi)部和外部的各種設備。于開關和感應器等單片機外部的中斷稱為外部引腳中斷,來自這些機器的中斷信號由名為“IRQ”的引腳接收,再向中斷控制器(在RX63N中稱被稱為“ICUb”)發(fā)出通知。IRQ為“Interrupt ReQuest”的略稱,意思為“中斷請求”。另外,來自單 片機內(nèi)部的定時器和GPIO、串行通信設備UART等外設機器的中斷被稱為外部設備中斷,中斷信號直接從各外部設備通知中斷控制器。

在中斷控制器中,各種設備的中斷信號按照先來后到的順序,以適當?shù)捻樞虮粋魉偷紺PU。而且,中斷被設為無效的設備的中斷信號將不會被傳送到CPU,也就意味著可以忽視(屏蔽)這些信號。CPU按照從中斷控制器接收到的指示來執(zhí)行對應的程序(中斷處理)。

CPU一旦接收到中斷控制器的中斷信號,首先將終止執(zhí)行中的程序。然而,會自動保存“從何處重啟”的出棧(POP)信息,這被稱為“進棧(PUSH)”。進棧結束后,將開始由中斷執(zhí)行的程序。該程序結束時,進棧信息將回 送到CPU,這種現(xiàn)象被稱為“出棧”(圖2)。由于進棧和出棧都由CPU自動執(zhí)行,因此程序設計者不必因順序問題而費心。

pIYBAGABOseAOjorAAEjKHERa6k753.png

圖2:中斷處理流程

例如,通過UART執(zhí)行串行通信時,經(jīng)常監(jiān)視字節(jié)是否被接收了而導致效率不佳。所以,多數(shù)情況下都對程序進行如下編程,即在信息送達 時就會產(chǎn)生中斷并進行適當?shù)奶幚恚硗猓苟〞r器產(chǎn)生中斷的情況也不在少數(shù)。進行“經(jīng)過了一定時間后該做什么”這類處理時,應進行如下編程,即通過來自定時器的信號開始進行處理。如上所述,在有效利用單片機方面,中斷功能發(fā)揮了很大的作用。

還可使用數(shù)據(jù)庫嘗試編寫復雜的中斷程序!

為了編寫與中斷相關的程序,就需要了解單片機的運行。由于需要深入了解,所以不能僅是進行簡單的嘗試。幸好還有本系列中介紹過的GR-SAKURA數(shù)據(jù)庫,可在GR-SAKURA數(shù)據(jù)庫中進行與外部引腳中斷相關的處理,所以請嘗試使用GR-SAKURA數(shù)據(jù)庫來進行編程。

為了向GR-SAKURA提供外部引腳中斷,還需要做些工作。在GR-SAKURA中,從IO30引腳到IO35引腳接收來自外部的中斷信號。這次是將定時器輸出引導到IO0引腳,再將它傳送到IO31引腳作為中斷信號。因此,要從IO30引腳到GND的部分設置引腳接口,由底板用的電線將IO0和IO31連接起來(圖3)。

o4YBAGABOtKAaDK_AANd8Q_WHAs204.png

圖3:GR-SAKURA的準備(引腳設置)

在示例程序(圖4)中預先準備了如下功能,即當GR- SAKURA的外部中斷信號引腳(從IO30到IO35中的一個)的輸入從L電平變?yōu)镠電平時,LED燈將啟動。而且是在檢測到相當于上述所說明的“外部引腳中斷”的中斷信號后才會變化。從IO0引腳進行定時器輸出,并將之與中斷輸入引腳即IO31引腳連接,通過這樣的方式便可以與一定的時間間隔發(fā)生中斷。

※即使 已對該程序進行了匯編,在沒有將上述的IO0和IO31引腳進行連接的GR-SAKURA中也無法運行。

93l3ap6v100016964-56723-supp.png

以上為圖4的程序

※圖4程序結束

※圖4:用于外部引腳中斷的示例程序

在此數(shù)據(jù)庫中,可對分別與前述中斷信號輸入引腳對應的處理。本次所示的是根據(jù)向IO31引腳輸入的變化(從L電平變?yōu)镠電平)來產(chǎn)生中斷的情況。第48行的attachInterrupt()定義了在某個輸入引腳出現(xiàn)某種變化時該調(diào)用什么函數(shù)。因此,設定為根據(jù)輸入IO31引腳的中斷信號來啟動irq3()。這樣的設定只需在setup()中定義一次便能在整個程序中有效。除此以外,在setup()中還記述了定時器的定義、定時器輸出引腳的設定、LED輸出的設定等初始條件。

沒有通過loop()函數(shù)進行的處理。取而代之的是由irq3()這個函數(shù)進行處理。從這個函數(shù)來看是看不出它是從程序中調(diào)用的。但是,正是由于這個函數(shù),才能使中斷信號進入IO31引腳時使LED的光發(fā)生變化。在函數(shù)irq3()中,四盞LED中只有一盞亮燈,這個函數(shù)一旦被調(diào)用,亮燈的LED就發(fā)生一次變化。為了讓人看得到這個“變化”,在case標簽的部分,通過來自GPIO的輸出來滅燈且使旁邊的LED亮燈(邊緣的LED燈亮燈時,相反側的邊緣的LED亮燈或滅燈)。

為了應對不知何時會發(fā)生的意外,中斷就是非常有效的應對方法。而且,中斷還可以減少程序的不必要運行,從而可降低功耗。也可以說,為了真正有效地利用單片機,這是一項不可缺少的技術。
編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關注

    關注

    6065

    文章

    44934

    瀏覽量

    647615
  • 定時器
    +關注

    關注

    23

    文章

    3289

    瀏覽量

    117354
  • uart
    +關注

    關注

    22

    文章

    1270

    瀏覽量

    103365
  • 中斷處理
    +關注

    關注

    0

    文章

    94

    瀏覽量

    11208
  • 中斷控制器
    +關注

    關注

    0

    文章

    61

    瀏覽量

    9643
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    新概念51單片機C語言教程入門、提高、開發(fā)、拓展全攻略

    資料介紹 從實際應用入手,以實驗過程和實驗現(xiàn)象為主導,循序漸進地講述51單片機C語言編程方法以及51單片機的硬件結構和功能應用。全書共分5篇,分別為入門篇、內(nèi)外部資源操作篇、提高篇、實
    發(fā)表于 04-15 13:57

    瑞薩RA8D1單片機IO中斷配置實現(xiàn)方法

    本文為結合瑞薩e2 studio工具,以及CPKCOR_RA8D1B評估板,給大家講述瑞薩RA8D1單片機IO中斷配置實現(xiàn)的方法。
    的頭像 發(fā)表于 04-09 15:05 ?845次閱讀
    瑞薩RA8D1<b class='flag-5'>單片機</b>IO<b class='flag-5'>中斷</b>配置實現(xiàn)方法

    單片機中斷技術詳解

    在現(xiàn)代電子設備中,單片機作為控制核心發(fā)揮著舉足輕重的作用。而在其高效運作的背后,中斷機制是推動單片機實現(xiàn)實時響應與高效執(zhí)行的關鍵因素。本文將深入探討單片機中的
    的頭像 發(fā)表于 02-02 15:57 ?833次閱讀

    基于STM32單片機礦井礦工作業(yè)安全監(jiān)測設計

    本項目設計一個基于STM32單片機的礦井作業(yè)安全監(jiān)測系統(tǒng)。該系統(tǒng)能夠?qū)崟r監(jiān)測礦井的環(huán)境參數(shù),并通過智能控制系統(tǒng)進行調(diào)節(jié),如溫濕度調(diào)節(jié)、氣體排放、警報提示等,確保礦工的作業(yè)環(huán)境符合安全標準。系統(tǒng)還支持無線數(shù)據(jù)傳輸和遠程控制,通過手
    的頭像 發(fā)表于 01-17 16:45 ?801次閱讀

    怎么提升單片機代碼執(zhí)行效率

    ? 提升單片機代碼執(zhí)行效率需要從多個方面入手,包括代碼優(yōu)化、硬件資源利用、編譯器設置、中斷處理優(yōu)化以及其他技巧等。在實際應用中,需要根據(jù)具體需求和硬件條件綜合考慮這些因素,以實現(xiàn)最佳的性能表現(xiàn)。 ?
    的頭像 發(fā)表于 01-10 11:06 ?507次閱讀

    單片機Debug工具性能對比 單片機調(diào)試常用命令

    。以下是對單片機調(diào)試工具性能的簡要對比以及一些常用的調(diào)試命令。 單片機Debug工具性能對比 Keil uVision 性能 :Keil uVision 是一款功能強大的集成開發(fā)環(huán)境(IDE),支持多種
    的頭像 發(fā)表于 12-19 09:56 ?1296次閱讀

    單片機中斷相關知識點

    中斷可以讓單片機在多個任務之間切換,為每個任務分配一定的處理時間,從而提高資源的利用效率。1.2行業(yè)現(xiàn)狀1.2.1應用現(xiàn)狀(1)嵌入式系統(tǒng):中斷
    發(fā)表于 11-30 09:49

    單片機按鍵中斷配置教程

    一些小伙伴覺得單片機入門太難了,又要懂原理圖、又要懂寄存器、還要學編程語言。
    的頭像 發(fā)表于 10-23 16:30 ?1403次閱讀
    <b class='flag-5'>單片機</b>按鍵<b class='flag-5'>中斷</b>配置教程

    單片機有哪些中斷類型

    單片機中斷是指在單片機執(zhí)行程序的過程中,當外部設備或內(nèi)部條件發(fā)生某個特定事件時,能夠暫停當前正在執(zhí)行的程序,轉而去執(zhí)行一個特定的服務程序(稱為中斷服務程序或
    的頭像 發(fā)表于 10-17 18:12 ?2227次閱讀

    單片機中斷機制

    單片機中斷機制是一種重要的處理方式,它允許單片機在執(zhí)行主程序的過程中,能夠暫停當前任務,轉而處理外部或內(nèi)部緊急事件。這種機制極大地提高了系統(tǒng)的響應速度和處理能力,使得
    的頭像 發(fā)表于 10-17 18:03 ?1829次閱讀

    8位單片機,32位單片機編程和應用優(yōu)勢

    ,大大提高了開發(fā)效率。 二、成本效益顯著: 單片機編程相對于傳統(tǒng)的控制方案來說,成本更低。單片機集成了多種功能,一片芯片即可完成以往需多個
    發(fā)表于 09-26 11:45

    單片機中斷有哪些?各類型中斷有什么作用?

    數(shù)據(jù)采集。 DAC中斷:當數(shù)字-模擬轉換完成或準備好接受新數(shù)據(jù)時觸發(fā)。用于生成模擬信號。 5. 系統(tǒng)中斷 系統(tǒng)中斷是與單片機核心系統(tǒng)功能
    發(fā)表于 09-24 16:22

    單片機基本io功能調(diào)試過程

    單片機基本IO功能的調(diào)試過程涉及多個步驟,旨在確保IO口能夠正確地執(zhí)行輸入和輸出操作。以下是一個調(diào)試過程,涵蓋了從準備階段到實際測試的關鍵步驟: 一、準備階段 確定單片機型號和IO口 : 首先,明確
    的頭像 發(fā)表于 09-14 14:38 ?1334次閱讀

    stm32單片機引腳介紹及功能

    特點,廣泛應用于工業(yè)控制、消費電子、醫(yī)療設備、智能家居等領域。本文將介紹STM32單片機的引腳及其功能。 1. 引腳概述 STM32單片機的引腳數(shù)量和類型因型號而異,常見的有48引腳、64引腳、100
    的頭像 發(fā)表于 09-02 09:38 ?1.3w次閱讀

    如何提高單片機的運算效率之FPU

    只要STM32或者其他32位單片機,自帶FPU功能,就可以加速float類型數(shù)據(jù)的加減乘除運算。在STM32中要啟用FPU,需要啟動滿足兩個宏:(__FPU_PRESENT==1)&&
    的頭像 發(fā)表于 08-30 11:47 ?1151次閱讀
    如何<b class='flag-5'>提高</b><b class='flag-5'>單片機</b>的運算<b class='flag-5'>效率</b>之FPU
    主站蜘蛛池模板: 日本在线视频www色 日本在线视频精品 | 五月欧美激激激综合网色播 | 国产美女视频黄a视频全免费网站 | 国产色系视频在线观看免费 | 色多多视频网站 | 激情九月婷婷 | 成人夜色视频网站在线观看 | 亚洲jizzjizz中文在线播放 | 黄色在线视频网 | 国产亚洲精品激情都市 | 久久久久国产精品四虎 | 一级特黄国产高清毛片97看片 | 国产操比视频 | 色吧色吧色吧网 | 免费的黄色毛片 | 国产午夜精品不卡片 | 中国一级特黄高清免费的大片 | 日本特级视频 | bt在线天堂 | 天天爱夜夜爱 | 日本在线视| 大量国产后进翘臀视频 | 色视频在线观看免费 | 性在线视频| 日本黄色激情视频 | 七月丁香八月婷婷综合激情 | 日韩午夜r电影在线观看 | 国产片翁熄系列乱在线视频 | 18黄无遮挡免费视频 | 国产免费美女 | 久久久久国产一级毛片高清片 | 欲香欲色天天综合和网 | 亚洲大香伊人蕉在人依线 | 国产全部理论片线观看 | 99久久精品国产免费 | 美国一级毛片免费看成人 | 三级天堂 | 欧美另类xx | 国产1区2区三区不卡 | 7m视频精品凹凸在线播放 | 日本三级香港三级三级人!妇久 |