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

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

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

STM32外部中斷解決方法

Q4MP_gh_c472c21 ? 來源: 玩轉嵌入式 ? 作者:劉小舒 ? 2020-10-20 17:43 ? 次閱讀

01

單片機外部中斷簡介

所謂外部中斷,就是通過外部信號所引起的中斷,如單片機引腳上的電平變化(高電平、低電平)、邊沿變化(上升沿、下降沿)等。51單片機有5個中斷源,其中有兩個是外部中斷,分別為INT0和INT1,INT0被分配在P3.2引腳,INT1被分配在P3.2引腳,也即是說如果使用51單片機的外部中斷0,則必須將信號接在P3.2上,否則無效。

02

舉例說明什么是中斷

單片機在執(zhí)行程序時有兩種方式:
查詢方式
中斷方式
所謂查詢方式就是單片機一遍一遍的掃描,查看所監(jiān)視的目標有沒有發(fā)生變化,是一種主動式的監(jiān)視方法,用一個成語可以很客觀的描述:守株待兔。
所謂中斷方式就是單片機不主動去監(jiān)視目標,而是目標主動通知單片機狀態(tài)發(fā)生了變化,是一種被動式的監(jiān)視方法,也可以用一個成語來形容:不速之客。
有一所學校的院墻破了一個洞,為了防止學生半夜跑出去上網(wǎng),在墻修好之前,學校安排保安每天夜里守在那個洞的旁邊監(jiān)視,這就是守株待兔。到了半夜保安很困想睡覺但是又害怕扣工資,怎么辦?這個保安很聰明就在洞口拉了一條繩子把繩子的另一端綁在自己的手腕上,只要有人想出去就會絆倒繩子從而驚醒睡覺的保安,這就是不速之客。這樣既不影響保安睡覺,又能捉住半夜出去上網(wǎng)的學生,還能避免保安被扣工資,由此可見通過使用中斷大大節(jié)省了保安的精力。這就是使用中斷的好處。

03

STM32單片機外部中斷簡介

STM32單片機的每一個GPIO都可以被設置為外部中斷輸入,根據(jù)引腳序號的不同可以將外部中斷分為不同的組,分別為PA0-PG0為EXTI0組,以此類推,PA15-PG15為EXTI15組,共16組,并且每一組中同一個時刻只能有一個中斷源工作,所以,STM32單片機最多允許同時有16個外部中斷。外部中斷的分配方式如下表所示:


STM32單片機的外部中斷觸發(fā)方式為邊沿觸發(fā),即上升沿觸發(fā)和下降沿觸發(fā)。

04

STM32外部中斷配置步驟

STM32單片機在配置外部中斷時可以按照以下步驟來操作:
1.初始化GPIO為輸入;
2.開啟復用時鐘,設置映射關系;
3.設置觸發(fā)條件;
4.分配中斷向量控制器,并使能;
5.編寫中斷服務函數(shù);

05

STM32外部中斷相關的寄存器

1.初始化GPIO時要用到如下寄存器:
APB2ENR:開啟GPIO時鐘和復用時鐘;
CRH:端口配置高寄存器;
CRL:端口配置低寄存器;
EXTICR[0]-EXTICR[3]:外部中斷配置寄存器
IMR:中斷屏蔽寄存器;
EMR:事件屏蔽寄存器;
FTSR:下降沿觸發(fā)選擇寄存器; RTSR:上升沿觸發(fā)選擇寄存器
ISER[0]-ISER[3]:NVIC中斷向量控制器;

來源 | 玩轉嵌入式

作者 | 劉小舒

原文標題:STM32如何配置外部中斷?

文章出處:【微信公眾號:嵌入式ARM】歡迎添加關注!文章轉載請注明出處。

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

    關注

    6030

    文章

    44489

    瀏覽量

    631990
  • STM32
    +關注

    關注

    2264

    文章

    10854

    瀏覽量

    354298

原文標題:STM32如何配置外部中斷?

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    STM32CUBEMX(11)--外部中斷(EXTI)

    概述 外部中斷和事件控制器 (EXTI) 管理外部和內(nèi)部異步事件 / 中斷,并生成相應的事件請求到CPU/ 中斷控制器和到電源管理的喚醒請求
    發(fā)表于 09-10 15:44

    stm32怎樣觸發(fā)軟件中斷

    了解STM32中斷系統(tǒng) STM32微控制器具有豐富的中斷系統(tǒng),包括NVIC(嵌套向量中斷控制器)和SYSTICK定時器。NVIC可以處理多達
    的頭像 發(fā)表于 09-02 09:32 ?514次閱讀

    鴻蒙OpenHarmony:【常見編譯問題和解決方法

    常見編譯問題和解決方法
    的頭像 發(fā)表于 05-11 16:09 ?1884次閱讀

    STM32F0外部中斷容易誤觸發(fā)怎么解決?

    STM32F0的外部中斷抗干擾能力太差了,經(jīng)常誤觸發(fā)。旁邊電烙鐵開關按鈕只要切換一次都會引起誤觸發(fā),當然外部中斷IO口有阻容RC濾波的,也照
    發(fā)表于 05-06 06:33

    STM32中斷分組及外部中斷的配置過程分享

    STM32中斷分組   STM32 的每一個GPIO都能配置成一個外部中斷觸發(fā)源,這點也是 STM32
    發(fā)表于 04-08 08:05

    請問如何區(qū)分觸發(fā)STM32外部中斷的GPIO引腳?

    如何區(qū)分觸發(fā)STM32 外部中斷的GPIO引腳?
    發(fā)表于 04-01 07:07

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

    外部中斷的工作原理是單片機響應外部事件的一種機制** **。
    的頭像 發(fā)表于 01-28 17:37 ?3317次閱讀

    單片機外部中斷和定時器中斷的區(qū)別和用法

    單片機外部中斷和定時器中斷在觸發(fā)來源、應用場景以及功能特點上存在明顯差異** **。
    的頭像 發(fā)表于 01-28 17:35 ?2789次閱讀

    STM32ADC中斷的使用注意事項和優(yōu)化建議

    STM32ADC中斷的使用注意事項和優(yōu)化建議 STM32ADC(模擬數(shù)字轉換器)是STMicroelectronics開發(fā)的一款用于外部模擬信號轉換為數(shù)字信號的器件。在使用
    的頭像 發(fā)表于 01-12 15:17 ?3031次閱讀

    STM32無法正常輸出PWM信號的原因及解決方法

    無法正常輸出PWM信號的問題。本文將探討STM32無法正常輸出PWM信號的原因,并提供解決方法。 一、引腳配置錯誤 STM32微控制器的每個IO引腳都有多個功能,包括GPIO、UART、SPI、PWM等。正確配置PWM功能的引腳
    的頭像 發(fā)表于 01-02 17:38 ?8907次閱讀

    stm32中斷怎么處理的

    STM32是一款非常強大的微控制器系列,具有豐富的外設和功能。中斷STM32中非常重要的部分,能夠幫助我們提高系統(tǒng)的響應速度和效率。本文將詳細介紹STM32
    的頭像 發(fā)表于 01-02 17:35 ?2406次閱讀

    stm32f1如何將外部中斷關掉hal庫

    Layer)來簡化芯片和外設的驅動開發(fā)。在STM32F1中,外部中斷的關閉是通過HAL庫中的相應函數(shù)來實現(xiàn)的。下面我將詳細介紹如何使用HAL庫關閉外部
    的頭像 發(fā)表于 12-22 13:52 ?3098次閱讀

    STM32CubeMX的外部中斷的使用

    庫的中斷處理較為復雜:startup_stm32f103xb.s通過匯編注冊了中斷處理函數(shù)EXTI1_IRQHandler(),在stm32f1xx_it.c中,
    的頭像 發(fā)表于 11-26 08:00 ?810次閱讀
    <b class='flag-5'>STM32</b>CubeMX的<b class='flag-5'>外部</b><b class='flag-5'>中斷</b>的使用

    外部中斷誤觸發(fā)的原因分析和解決方法

    今天在寫外部中斷的程序的時候,發(fā)現(xiàn)中斷特別容易受到干擾,我把手放在對應的中斷引腳上,中斷就一直觸發(fā),沒有停過。經(jīng)過一天的學習,找到了幾個
    的頭像 發(fā)表于 11-23 17:09 ?2959次閱讀
    <b class='flag-5'>外部</b><b class='flag-5'>中斷</b>誤觸發(fā)的原因分析和<b class='flag-5'>解決方法</b>

    外部中斷為什么會誤觸發(fā)?

    今天在寫外部中斷的程序的時候,發(fā)現(xiàn)中斷特別容易受到干擾,我把手放在對應的中斷引腳上,中斷就一直觸發(fā),沒有停過。經(jīng)過一天的學習,找到了幾個
    的頭像 發(fā)表于 11-23 08:00 ?1096次閱讀
    <b class='flag-5'>外部</b><b class='flag-5'>中斷</b>為什么會誤觸發(fā)?