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

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

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

3天內不再提示

第十一章 EXTI——外部中斷/事件控制器

W55MH32 ? 來源:W55MH32 ? 作者:W55MH32 ? 2025-05-22 17:10 ? 次閱讀

單芯片解決方案,開啟全新體驗——W55MH32 高性能以太網單片機

W55MH32是WIZnet重磅推出的高性能以太網單片機,它為用戶帶來前所未有的集成化體驗。這顆芯片將強大的組件集于一身,具體來說,一顆W55MH32內置高性能Arm? Cortex-M3核心,其主頻最高可達216MHz;配備1024KB FLASH與96KB SRAM,滿足存儲與數據處理需求;集成TOE引擎,包含WIZnet全硬件TCP/IP協議棧、內置MAC以及PHY,擁有獨立的32KB以太網收發緩存,可供8個獨立硬件socket使用。如此配置,真正實現了All-in-One解決方案,為開發者提供極大便利。

在封裝規格上,W55MH32 提供了兩種選擇:QFN100和QFN68。

W55MH32L采用QFN100封裝版本,尺寸為12x12mm,其資源豐富,專為各種復雜工控場景設計。它擁有66個GPIO、3個ADC、12通道DMA、17個定時器、2個I2C、5個串口、2個SPI接口(其中1個帶I2S接口復用)、1個CAN、1個USB2.0以及1個SDIO接口。如此豐富的外設資源,能夠輕松應對工業控制中多樣化的連接需求,無論是與各類傳感器、執行器的通信,還是對復雜工業協議的支持,都能游刃有余,成為復雜工控領域的理想選擇。 同系列還有QFN68封裝的W55MH32Q版本,該版本體積更小,僅為8x8mm,成本低,適合集成度高的網關模組等場景,軟件使用方法一致。更多信息和資料請進入http://www.w5500.com/網站或者私信獲取。

此外,本W55MH32支持硬件加密算法單元,WIZnet還推出TOE+SSL應用,涵蓋TCP SSL、HTTP SSL以及 MQTT SSL等,為網絡通信安全再添保障。

為助力開發者快速上手與深入開發,基于W55MH32L這顆芯片,WIZnet精心打造了配套開發板。開發板集成WIZ-Link芯片,借助一根USB C口數據線,就能輕松實現調試、下載以及串口打印日志等功能。開發板將所有外設全部引出,拓展功能也大幅提升,便于開發者全面評估芯片性能。

若您想獲取芯片和開發板的更多詳細信息,包括產品特性、技術參數以及價格等,歡迎訪問官方網頁:http://www.w5500.com/,我們期待與您共同探索W55MH32的無限可能。

wKgZPGgbOfaANhwzACodXd3sVzg463.png

第十一章 EXTI——外部中斷/事件控制器

本章參考資料:《W55MH32-中文參考手冊》中斷和事件章節和7.4章節AFIO寄存器描述。

上一章節我們已經詳細介紹了NVIC,對W55MH32系列中斷管理系統有個全局的了解,我們這章的內容是NVIC的實例應用, 也是W55MH32控制器非常重要的一個資源。學習本章時,配合《W55MH32-參考手冊》中斷和事件章節一起閱讀,效果會更佳,特別是涉及到寄存器說明的部分。

特別說明,本書內容是以W55MH32系列控制器資源講解。

1 EXTI簡介

EXTI(External interrupt/event controller)—外部中斷/事件控制器,管理了控制器的20個中斷/事件線。 每個中斷/事件線都對應有一個邊沿檢測器,可以實現輸入信號的上升沿檢測和下降沿的檢測。EXTI可以實現對每個中斷/事件線進行單獨配置, 可以單獨配置為中斷或者事件,以及觸發事件的屬性。

2 EXTI功能框圖

EXTI的功能框圖包含了EXTI最核心內容,掌握了功能框圖,對EXTI就有一個整體的把握,在編程時思路就非常清晰。EXTI功能框圖見圖 EXTI功能框圖 。

在圖 EXTI功能框圖 可以看到很多在信號線上打一個斜杠并標注“20”字樣,這個表示在控制器內部類似的信號線路有20個, 這與EXTI總共有20個中斷/事件線是吻合的。所以我們只要明白其中一個的原理,那其他19個線路原理也就知道了。

wKgZPGgu6XCAUWFFAAUzlKJy8Sc098.png

EXTI可分為兩大部分功能,一個是產生中斷,另一個是產生事件,這兩個功能從硬件上就有所不同。

首先我們來看圖 EXTI功能框圖 中紅色虛線指示的電路流程。它是一個產生中斷的線路,最終信號流入到NVIC控制器內。

編號1是輸入線,EXTI控制器有19個中斷/事件輸入線,這些輸入線可以通過寄存器設置為任意一個GPIO,也可以是一些外設的事件, 這部分內容我們將在后面專門講解。輸入線一般是存在電平變化的信號。

編號2是一個邊沿檢測電路,它會根據上升沿觸發選擇寄存器(EXTI_RTSR)和下降沿觸發選擇寄存器(EXTI_FTSR)對應位的設置來控制信號觸發。 邊沿檢測電路以輸入線作為信號輸入端,如果檢測到有邊沿跳變就輸出有效信號1給編號3電路,否則輸出無效信號0。 而EXTI_RTSR和EXTI_FTSR兩個寄存器可以控制需要檢測哪些類型的電平跳變過程,可以是只有上升沿觸發、只有下降沿觸發或者上升沿和下降沿都觸發。

編號3電路實際就是一個或門電路,它的一個輸入來自編號2電路,另外一個輸入來自軟件中斷事件寄存器(EXTI_SWIER)。EXTI_SWIER允許我們通過程序控制就可以啟動中斷/事件線, 這在某些地方非常有用。我們知道或門的作用就是有1就為1,所以這兩個輸入隨便一個有有效信號1就可以輸出1給編號4和編號6電路。

編號4電路是一個與門電路,它的一個輸入是編號3電路,另外一個輸入來自中斷屏蔽寄存器(EXTI_IMR)。與門電路要求輸入都為1才輸出1, 導致的結果是如果EXTI_IMR設置為0時,那不管編號3電路的輸出信號是1還是0,最終編號4電路輸出的信號都為0;如果EXTI_IMR設置為1時, 最終編號4電路輸出的信號才由編號3電路的輸出信號決定,這樣我們可以簡單的控制EXTI_IMR來實現是否產生中斷的目的。 編號4電路輸出的信號會被保存到掛起寄存器(EXTI_PR)內,如果確定編號4電路輸出為1就會把EXTI_PR對應位置1。

編號5是將EXTI_PR寄存器內容輸出到NVIC內,從而實現系統中斷事件控制。

接下來我們來看看綠色虛線指示的電路流程。它是一個產生事件的線路,最終輸出一個脈沖信號。

產生事件線路是在編號3電路之后與中斷線路有所不同,之前電路都是共用的。編號6電路是一個與門,它的一個輸入來自編號3電路, 另外一個輸入來自事件屏蔽寄存器(EXTI_EMR)。如果EXTI_EMR設置為0時,那不管編號3電路的輸出信號是1還是0,最終編號6電路輸出的信號都為0; 如果EXTI_EMR設置為1時,最終編號6電路輸出的信號才由編號3電路的輸出信號決定,這樣我們可以簡單的控制EXTI_EMR來實現是否產生事件的目的。

編號7是一個脈沖發生器電路,當它的輸入端,即編號6電路的輸出端,是一個有效信號1時就會產生一個脈沖;如果輸入端是無效信號就不會輸出脈沖。

編號8是一個脈沖信號,就是產生事件的線路最終的產物,這個脈沖信號可以給其他外設電路使用,比如定時器TIM、模擬數字轉換器ADC等等,這樣的脈沖信號一般用來觸發TIM或者ADC開始轉換。

產生中斷線路目的是把輸入信號輸入到NVIC,進一步會運行中斷服務函數,實現功能,這樣是軟件級的。而產生事件線路目的就是傳輸一個脈沖信號給其他外設使用, 并且是電路級別的信號傳輸,屬于硬件級的。

另外,EXTI是在APB2總線上的,在編程時候需要注意到這點。

3 中斷/事件線

EXTI有20個中斷/事件線,每個GPIO都可以被設置為輸入線,占用EXTI0至EXTI15, 還有另外七根用于特定的外設事件,見表 EXTI中斷_事件線 。

4根特定外設中斷/事件線由外設觸發,具體用法參考《W55MH32參考手冊》中對外設的具體說明。

中斷 / 事件線 輸入源
EXTI0 PX0(X 可為 A, B, C, D, E, F, G, H, I)
EXTI1 PX1(X 可為 A, B, C, D, E, F, G, H, I)
EXTI2 PX2(X 可為 A, B, C, D, E, F, G, H, I)
EXTI3 PX3(X 可為 A, B, C, D, E, F, G, H, I)
EXTI4 PX4(X 可為 A, B, C, D, E, F, G, H, I)
EXTI5 PX5(X 可為 A, B, C, D, E, F, G, H, I)
EXTI6 PX6(X 可為 A, B, C, D, E, F, G, H, I)
EXTI7 PX7(X 可為 A, B, C, D, E, F, G, H, I)
EXTI8 PX8(X 可為 A, B, C, D, E, F, G, H, I)
EXTI9 PX9(X 可為 A, B, C, D, E, F, G, H, I)
EXTI10 PX10(X 可為 A, B, C, D, E, F, G, H, I)
EXTI11 PX11(X 可為 A, B, C, D, E, F, G, H, I)
EXTI12 PX12(X 可為 A, B, C, D, E, F, G, H, I)
EXTI13 PX13(X 可為 A, B, C, D, E, F, G, H, I)
EXTI14 PX14(X 可為 A, B, C, D, E, F, G, H, I)
EXTI15 PX15(X 可為 A, B, C, D, E, F, G, H, I)
EXTI16 PVD 輸出
EXTI17 RTC 鬧鐘事件
EXTI18 USB 喚醒事件
EXTI19 以太網喚醒事件(只適用互聯型)

EXTI0至EXTI15用于GPIO,通過編程控制可以實現任意一個GPIO作為EXTI的輸入源。由表 EXTI中斷_事件線 可知, EXTI0可以通過AFIO的外部中斷配置寄存器1(AFIO_EXTICR1)的EXTI0[3:0]位選擇配置為PA0、 PB0、PC0、PD0、PE0、PF0、PG0、PH0或者PI0,見圖 EXTI0輸入源選擇 。其他EXTI線(EXTI中斷/事件線)使用配置都是類似的。

wKgZO2gu6XCARr3RAAEt6g2TfN8283.png

4 EXTI初始化結構體詳解

標準庫函數對每個外設都建立了一個初始化結構體,比如EXTI_InitTypeDef,結構體成員用于設置外設工作參數,并由外設初始化配置函數, 比如EXTI_Init()調用,這些設定參數將會設置外設相應的寄存器,達到配置外設工作環境的目的。

初始化結構體和初始化庫函數配合使用是標準庫精髓所在,理解了初始化結構體每個成員意義基本上就可以對該外設運用自如了。 初始化結構體定義在w55mh32_exti.h文件中,初始化庫函數定義在w55mh32_exti.c文件中,編程時我們可以結合這兩個文件內注釋使用。

代碼清單:EXTI-1 EXTI初始化結構體

typedef struct {
    uint32_t EXTI_Line;                 // 中斷/事件線
    EXTIMode_TypeDef EXTI_Mode;         // EXTI模式
    EXTITrigger_TypeDef EXTI_Trigger;   // 觸發類型
    FunctionalState EXTI_LineCmd;       // EXTI使能
} EXTI_InitTypeDef;

EXTI_Line:EXTI中斷/事件線選擇,可選EXTI0至EXTI19,可參考表 EXTI中斷_事件線 選擇。

EXTI_Mode:EXTI模式選擇,可選為產生中斷(EXTI_Mode_Interrupt)或者產生事件(EXTI_Mode_Event)。

EXTI_Trigger:EXTI邊沿觸發事件,可選上升沿觸發(EXTI_Trigger_Rising)、 下降沿觸發( EXTI_Trigger_Falling)或者上升沿和下降沿都觸發( EXTI_Trigger_Rising_Falling)。

EXTI_LineCmd:控制是否使能EXTI線,可選使能EXTI線(ENABLE)或禁用(DISABLE)。

5 補充說明

關于使用外部按鍵中斷的理解補充,按教程與參考手冊的中斷/事件線與輸入源的表格看,可以使用EXTI0至15線路對應到使用16個GPIO做外部中斷, 需要注意的是這16個線路并非都有單獨的中斷源,從w55mh32.h查看對應芯片型號有EXTI0_IRQn、EXTI1_IRQn、EXTI2_IRQn、EXTI3_IRQn、EXTI4_IRQn、EXTI9_5_IRQn、EXTI15_10_IRQn, 再查看啟動文件那邊定義的中斷函數同樣也是EXTI0_IRQHandler、EXTI1_IRQHandler、EXTI2_IRQHandler、EXTI3_IRQHandler、EXTI4_IRQHandler、EXTI9_5_IRQHandler、EXTI15_10_IRQHandler。

這里再次強調一下關于W55MH32中斷應用概覽章節的補充說明內容, NVIC_PriorityGroupConfig是整個程序中只需要設置一次 ,當設置好了中斷優先級分組,其他各種外設對應的中斷向量的中斷優先級既是基于目前設置分組來解讀。

在其他例程中很多將NVIC_PriorityGroupConfig寫在了每個外設自己的中斷配置函數里面,有些可能多個外設配置函數下重復了NVIC_PriorityGroupConfig()這句, 這里提醒用戶后續編寫自己程序時只需要調用一次即可,并且從代碼布局邏輯來說適合放在main()函數中。

WIZnet 是一家無晶圓廠半導體公司,成立于 1998 年。產品包括互聯網處理器 iMCU?,它采用 TOE(TCP/IP 卸載引擎)技術,基于獨特的專利全硬連線 TCP/IP。iMCU? 面向各種應用中的嵌入式互聯網設備。

WIZnet 在全球擁有 70 多家分銷商,在香港、韓國、美國設有辦事處,提供技術支持和產品營銷。

香港辦事處管理的區域包括:澳大利亞、印度、土耳其、亞洲(韓國和日本除外)。

審核編輯 黃宇

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

    關注

    459

    文章

    52076

    瀏覽量

    435192
  • 單片機
    +關注

    關注

    6061

    文章

    44866

    瀏覽量

    645996
  • WIZnet
    +關注

    關注

    3

    文章

    21

    瀏覽量

    42362
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    明德揚視頻分享點撥FPGA課程--第十一章 ?Signaltapll的使用技巧

    第十一章Signaltapll的使用技巧1. signaltapll使用http://yunpan.cn/cjZTiDA9pY56x訪問密碼 c359
    發表于 11-11 09:03

    第十一期 存儲與讀取文件

    第十一期實現寫入文件與文件的讀取操作
    發表于 09-16 12:23

    EXTI外部中斷/事件控制器

    EXTI——外部中斷/事件控制器外部中斷簡介,EXTI
    發表于 08-13 07:57

    EXTI外部中斷/事件控制器框圖

    EXTI(一)外部中斷/事件控制器框圖
    發表于 08-13 07:17

    EXTI外部中斷/事件控制器

    EXTI(External interrupt/event controller)—外部中斷/事件控制器,管理了控制器的20個
    發表于 08-16 06:45

    EXTI外部中斷/事件控制器是由哪些部分構成的

    何為EXTI外部呢?EXTI外部中斷/事件控制器是由哪些部分構成的?
    發表于 11-16 09:11

    三相電路原理(第十一章)

    三相電路原理(第十一章)  11-1 三相電路 11-2 線電壓(電流)與相電壓(電流)的關系 11-3 對稱三相電路的計算 11-4 不對稱三相電路的概念&nb
    發表于 05-23 11:44 ?53次下載

    STM8S_009_ EXTI外部中斷

    STM8S_009_EXTI外部中斷
    的頭像 發表于 03-14 14:56 ?4490次閱讀

    STM32外部中斷事件控制器EXTI概念及使用方法

    : External interrupt / event controller外部中斷/事件控制器提示:以下是本篇文章正文內容一、EXTI功能框圖二、使用方法1.
    發表于 11-22 16:21 ?7次下載
    STM32<b class='flag-5'>外部</b><b class='flag-5'>中斷</b>事件<b class='flag-5'>控制器</b><b class='flag-5'>EXTI</b>概念及使用方法

    STM32 外部中斷/事件控制器EXTI

    EXTI(External interrupt/event controller)—外部中斷/事件控制器,管理了控制器的20個
    發表于 01-14 15:26 ?0次下載
    STM32 <b class='flag-5'>外部</b><b class='flag-5'>中斷</b>/事件<b class='flag-5'>控制器</b><b class='flag-5'>EXTI</b>

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

    外部中斷和事件控制器 (EXTI) 管理外部和內部異步事件 / 中斷,并生成相應的事件請求到CP
    的頭像 發表于 11-14 16:39 ?2383次閱讀
    STM32CUBEMX(11)--<b class='flag-5'>外部</b><b class='flag-5'>中斷</b>(<b class='flag-5'>EXTI</b>)

    STM32外部中斷控制器EXTI詳解

    什么是外部中斷控制器外部中斷控制器在STM32芯片中處于什么位置,它的作用是什么,EXTI與GPIO的映射關系?
    的頭像 發表于 04-20 11:44 ?3121次閱讀
    STM32<b class='flag-5'>外部</b><b class='flag-5'>中斷控制器</b><b class='flag-5'>EXTI</b>詳解

    STM32的IO外部中斷EXTI的使用

    的方式訪問輸入引腳,還可以通過另外一種叫做外部中斷的方式來對引腳的輸入信號進行檢測,本篇首先介紹下EXTI的結構,接著介紹外部中斷的相關概念
    的頭像 發表于 06-22 10:21 ?2642次閱讀
    STM32的IO<b class='flag-5'>外部</b><b class='flag-5'>中斷</b><b class='flag-5'>EXTI</b>的使用

    STM32CUBEIDE(14)----外部中斷EXTI

    外部中斷和事件控制器 (EXTI) 管理外部和內部異步事件 / 中斷,并生成相應的事件請求到CP
    的頭像 發表于 07-26 14:33 ?1686次閱讀
    STM32CUBEIDE(14)----<b class='flag-5'>外部</b><b class='flag-5'>中斷</b><b class='flag-5'>EXTI</b>

    STM32L4外部中斷及事件控制模塊(EXTI)

    電子發燒友網站提供《STM32L4外部中斷及事件控制模塊(EXTI).pdf》資料免費下載
    發表于 08-01 10:23 ?0次下載
    STM32L4<b class='flag-5'>外部</b><b class='flag-5'>中斷</b>及事件<b class='flag-5'>控制</b>模塊(<b class='flag-5'>EXTI</b>)
    主站蜘蛛池模板: 亚洲 欧美 精品专区 极品 | 亚洲bt欧美bt高清bt777 | 亚洲成人激情电影 | 一区二区三区亚洲视频 | 亚洲第一免费网站 | 手机在线黄色网址 | 亚洲伊人久久综合影院2021 | 久久69 | 成年黄网站免费大全毛片 | 久久婷婷综合五月一区二区 | 18黄无遮挡免费视频 | 黄网在线观看免费 | 久久久久国产精品免费免费不卡 | 国产呦在线观看视频 | 欧美性天天 | 国产精品久久久久久久久久妇女 | 四只虎免费永久观看 | 久久精品亚瑟全部免费观看 | 国产免费一区二区三区香蕉精 | 十三以下岁女子毛片免费播放 | 在线观看中文字幕一区 | 中年艳妇乱小玩 | 国产一级在线观看 | 国产精品福利视频手机免费观看 | 萝l在线精品社区资源 | 亚洲一区在线视频 | 国产成人毛片毛片久久网 | 天天操天天操天天 | 97人人在线 | 久久国产视频一区 | 韩国三级中文 | 日本韩国三级视频 | 亚洲色图22p | 一级特黄色毛片免费看 | 久久久久国产午夜 | 久久久久久人精品免费费看 | 欧美日韩性高爱潮视频 | 性夜影院爽黄a爽免费视 | 色香欲亚洲天天综合网 | 男男小说高h | 黄视频网站免费 |