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

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

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

3天內不再提示

STM32的中斷及是如何使用

汽車電子技術 ? 來源:華維單片機編程 ? 作者: 華維 ? 2023-02-09 17:32 ? 次閱讀

中斷是一種機制,通過這種機制,I/O或指令可以暫停處理器的正常執(zhí)行,并像具有最高優(yōu)先級一樣先執(zhí)行自己的任務。也就是說,當外部中斷發(fā)生時(比如來自某個傳感器),處理器暫停其正在執(zhí)行,首先提供中斷服務,然后繼續(xù)其正常執(zhí)行。

為了了解 STM32F103C8 中的中斷,我們將使用按鈕作為外部中斷。在這里,我們讓一個變量從 0 開始每秒增1,并將其顯示在16x2 LCD上,每當按下按鈕時,LED 亮起,LCD 顯示屏會顯示 INTERRUPT。

中斷類型和 ISR(中斷服務程序)

中斷大致可以分為兩類:

1.硬件中斷: 如果到處理器的信號來自某些外部設備,例如按鈕或傳感器,或者來自其他信號并告訴處理器執(zhí)行 ISR 中存在的特定任務的硬件設備,則稱為硬件中斷。

2.軟件中斷: 由軟件指令產(chǎn)生的中斷。

ISR 中斷服務程序:

中斷服務程序或中斷處理程序是其中包含少量指令的事件,當發(fā)生中斷時,處理器首先執(zhí)行 ISR 中的這些代碼,然后再繼續(xù)執(zhí)行中斷之前正在執(zhí)行的任務。

STM32中的中斷語法

Arduino IDE中,啟用ISR具有以下語法attachInterrupt (digitalPinToInterrupt(pin), ISR, mode),同樣可以在 STM32 中使用,因為本文正是使用 arduino IDE 上傳代碼。

digitalPinToInterrupt(pin)

在STM32F103C8中,任何GPIO引腳都可以用于中斷。我們只需要指定用于中斷的輸入引腳。但是,當同時使用多個中斷時,我們可能需要遵循一些限制。

ISR 中斷子程序

它是一個在發(fā)生外部中斷時調用的中斷處理函數(shù)。它沒有參數(shù)和返回值。

mode:觸發(fā)中斷的方式條件

上升沿觸發(fā):當引腳從 低電平變?yōu)?高電平時觸發(fā)中斷。

下降沿觸發(fā):當引腳從 高電平變?yōu)?低電平時觸發(fā)中斷。

雙邊沿觸發(fā):當引腳從 低電平變?yōu)?高電平或 高電平變?yōu)?低電平時觸發(fā)中斷(即,當引腳電平發(fā)生變化時)。

使用中斷注意事項

中斷服務程序功能 (ISR) 必須盡可能短。

避免在ISR中使用delay函數(shù)。

電路圖和連接說明

圖片

按鈕引腳的一側連接到 STM32 的 3.3V,另一側通過下拉電阻連接到 STM32 的輸入引腳(PA0)。

關于使用下拉電阻器,當按下或釋放按鈕時,微控制器只會在其輸入端獲得高電平或低電平。如果沒有下拉電阻,按鈕沒有按下,輸入端狀態(tài)不確定(不是高也不是低),并且容易受外界影響,輸入端電平可能是浮動隨機值(忽高忽低)。

圖片

STM32F103C8與LCD的連接

下表顯示了 LCD (1602) 和 STM32F103C8 微控制器之間的引腳連接。

圖片

STM32F103C8中斷編程

程序很簡單,使用Arduino IDE編程。

我們將一個變量從 0 開始每秒自增1并將其顯示在 1602 LCD 上,每當按下按鈕時,LED亮起,LCD 顯示屏會顯示“Interrupt”,松開按鈕LED熄滅。

圖片

//聲明LCD 引腳連接到STM32 的哪個引腳
const int rs= PB10,en= PB11,d4= PB0,d5= PB1,d6= PC13,d7= PC14;
#include//LCD 庫
LiquidCrystal lcd (rs,en,d4,d5,d6,d7);//初始化LCD
volatile boolean ledOn = false; //LED狀態(tài)標識


void setup()
{
  lcd.begin(16,2);// 將 LCD 設置為 16x2 類型
  lcd.print("Hello World"); //LCD 顯示 Hello World!
  delay(2000); //延時2秒
  lcd.clear(); //清屏
  pinMode(PA1,OUTPUT); //將引腳 PA1 設置為輸出
  pinMode(PA0,INPUT); //將引腳 PA0 設置為輸入
  int i = 0;
  attachInterrupt(PA0,buttonPressed,CHANGE);// 創(chuàng)建外部中斷
}


void loop()
{
  lcd.clear();//清屏
  lcd.print("NUMBER:"); //LCD顯示NUMBER:
  lcd.print(i);//LCD 顯示“i”值
  ++i; //“i” 自增 1
  delay(1000); //延時1秒
}


void buttonPressed() //ISR中斷子函數(shù)
{
  //松開按鈕
  if(ledOn) //當發(fā)生中斷時判斷LED 狀態(tài)標識,如果LED是亮起狀態(tài)
  {
    ledOn=false; //則設置LED狀態(tài)標識為熄滅
    digitalWrite(PA1,LOW); //同時把PA1設置為低電平,熄滅LED
  }
  
  //按下按鈕
  else // 否則(即如果LED狀態(tài)標識為熄滅)
  {
    ledOn = true; //則設置LED狀態(tài)標識為亮起
    digitalWrite(PA1,HIGH); //同時把PA1設置為高電平,點亮LED
    lcd.setCursor(0,1); //將光標設置在第一列和第二行
    lcd.print("Interrupt"); //LCD顯示Interrupt
  }
}
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19286

    瀏覽量

    229855
  • 中斷
    +關注

    關注

    5

    文章

    898

    瀏覽量

    41502
  • i/o
    i/o
    +關注

    關注

    0

    文章

    33

    瀏覽量

    4593
收藏 人收藏

    評論

    相關推薦

    STM32中斷系統(tǒng)詳解 - 第2節(jié) #硬聲創(chuàng)作季

    STM32中斷系統(tǒng)
    充八萬
    發(fā)布于 :2023年09月01日 16:21:24

    STM32中斷系統(tǒng)詳解 - 第4節(jié) #硬聲創(chuàng)作季

    STM32中斷系統(tǒng)
    充八萬
    發(fā)布于 :2023年09月01日 16:23:05

    STM32中斷系統(tǒng)詳解 - 第6節(jié) #硬聲創(chuàng)作季

    STM32中斷系統(tǒng)
    充八萬
    發(fā)布于 :2023年09月01日 16:24:45

    STM32中斷系統(tǒng)詳解 - 第9節(jié) #硬聲創(chuàng)作季

    STM32中斷系統(tǒng)
    充八萬
    發(fā)布于 :2023年09月01日 16:27:16

    STM32中斷優(yōu)先級和開關總中斷教程

    STM32中斷優(yōu)先級和開關總中斷 教程
    發(fā)表于 11-23 18:03 ?0次下載

    STM32中斷與嵌套快速入門(NVIC)

    STM32中斷與嵌套快速入門(NVIC),喜歡的朋友可以下載來學習。
    發(fā)表于 01-15 17:45 ?41次下載

    STM32中斷與嵌套NVIC快速入門

    STM32 中斷與嵌套NVIC 快速入門,喜歡的朋友可以下載來學習。
    發(fā)表于 01-15 17:45 ?20次下載

    STM32中斷管理函數(shù)

    STM32中斷管理函數(shù),感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 11-02 19:13 ?15次下載

    中斷是什么?STM32中斷系統(tǒng)介紹和中斷配置步驟資料免費下載

    本文檔的主要內容詳細介紹的是中斷是什么?STM32中斷系統(tǒng)介紹和中斷配置步驟資料免費下載。
    發(fā)表于 10-11 08:00 ?5次下載
    <b class='flag-5'>中斷</b>是什么?<b class='flag-5'>STM32</b><b class='flag-5'>中斷</b>系統(tǒng)介紹和<b class='flag-5'>中斷</b>配置步驟資料免費下載

    STM32中斷及FreeRTOS中斷優(yōu)先級配置

    STM32中斷,及FreeRTOS中斷優(yōu)先級配置
    的頭像 發(fā)表于 03-04 11:45 ?8919次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>中斷</b>及FreeRTOS<b class='flag-5'>中斷</b>優(yōu)先級配置

    STM32中斷與事件的區(qū)別資料下載

    電子發(fā)燒友網(wǎng)為你提供STM32中斷與事件的區(qū)別資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決方案等資料,希望可以幫助到廣大的電子工程師們。
    發(fā)表于 04-23 08:54 ?2次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>中斷</b>與事件的區(qū)別資料下載

    STM32關全局中斷的方法 STM32中斷類型

    STM32中斷很強大,STM32中斷可以嵌套,任何外設都可以產(chǎn)生中斷,其中中斷和異常是等價的。
    的頭像 發(fā)表于 07-22 10:52 ?2.8w次閱讀

    STM32中斷系統(tǒng)的工作流程

    一、前言 在之前的STM32中斷系統(tǒng)理論基礎知識之基本原理及NVIC中,分別中斷的基本原理,中斷的管理機制和中斷的處理流程進行了較為詳細的
    的頭像 發(fā)表于 06-22 09:17 ?2611次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>中斷</b>系統(tǒng)的工作流程

    為什么有些STM32中斷沒有子優(yōu)先級?

    看到一個交流群在討論關于【關于STM32中斷優(yōu)先級的話題】,其中就有小伙伴提到:為什么有些STM32中斷沒有【子優(yōu)先級】?
    的頭像 發(fā)表于 10-17 15:50 ?887次閱讀
    為什么有些<b class='flag-5'>STM32</b><b class='flag-5'>中斷</b>沒有子優(yōu)先級?

    stm32中斷怎么處理的

    STM32是一款非常強大的微控制器系列,具有豐富的外設和功能。中斷STM32中非常重要的部分,能夠幫助我們提高系統(tǒng)的響應速度和效率。本文將詳細介紹STM32
    的頭像 發(fā)表于 01-02 17:35 ?2591次閱讀
    主站蜘蛛池模板: 天天射色综合| 欧美成人精品一区二区 | 亚1州区2区3区4区产品乱码| 你懂的在线视频网站| 亚洲三级黄色| 五月天精品| 国产三级日本三级日产三| 男人午夜影院| 最新国产在线播放| 黄色小视频日本| 狠狠干综合| 亚洲人成电影在在线观看网色| 久久精品视频国产| 亚洲理论在线| 国内黄色录像| 亚洲精品成人a在线观看| 欧美色综合久久| 视频免费在线| 超刺激gay腐文h文| 国产一区二区丁香婷婷| 操黄色| 色宅男午夜电影在线观看| 97福利| 99精品在免费线视频| 超h 高h 污肉1v1御书屋| 久久伊人男人的天堂网站| 久久久久大香线焦| 亚洲成综合人影院在院播放| 国产成都一二三四区| 狠狠夜夜| 四大名著成人高h肉版| 五月天欧美| 国产精品欧美精品国产主播| 国产欧美综合在线| 初恋视频黄色| 看天堂| 免费在线观看视频| 免费网站你懂得| avt天堂网| 欧美午夜影视| 成人精品第一区二区三区|