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

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

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

3天內不再提示

STM32外部中斷執行過程

冬至子 ? 來源:硬件工程師的小世界 ? 作者:TTYY ? 2023-04-24 17:43 ? 次閱讀

一、MCU中斷程序執行過程

以MCU裸機程序框架為例,MCU 的主函數是個死循環:

主函數:

main(void)

{

While(1)

{

//主程序

}

}

如果沒有中斷或異常產生會一直在while(1)里執行主程序代碼。當中斷產生后,當前執行的任務會被打斷,程序跳轉到中斷處理函數執行,執行完會返回之前的主程序斷點處繼續執行。

中斷處理函數:

void IRQ_handler(void)

{

//中斷處理程序

//清除中斷標志,否則會不停的進入中斷處理程序。

}

在中斷處理函數中不要做復雜費時的事情,中斷內做的事情盡可能少。

二、中斷使用實例

STM32的IO都可以配置成外部中斷,但不是同時都可以配成外部中斷。需要遵循如下規則:

比如PA0設置成外部中斷,PB0,PC0,PD0就不能配成外部中斷。

比如PA1設置成外部中斷,PB1,PC1,PD1就不能配成外部中斷。

STM32的EXTI0-15中斷線分配給IO使用。PA0的中斷只能使用EXTI0的中斷請求;PA1中斷只能使用EXTI1的中斷請求。

每個外部中斷線可以獨立的配置觸發方式,包含上升沿,下降沿或者雙邊沿觸發。每個中斷可單獨使能/屏蔽。

STM32的中斷允許嵌套,搶占優先級高的可以打斷搶占優先級低的中斷執行。搶占優先級相同時,不能嵌套,不同響應優先級中斷同時發生,優先級高的先執行。在程序設計時要根據具體情況分配好搶占優先級和響應優先級。

STM32的優先級分搶占和響應兩種,具體選擇哪種分組組合可以通過如下函數配置:

NVIC_PriorityGroupConfig()

優先級分組組合有5種:

第0組:所有4bit用于指定響應優先級;

第1組:最高1位用于指定搶占式優先級,后面3位用于指定響應優先級;

第2組:最高2位用于指定搶占式優先級,后面2位用于指定響應優先級;

第3組:最高3位用于指定搶占式優先級,后面1位用于指定響應優先級;

第4組:所有4位用于指定搶占式優先級。

以STM32為例,使用IO端口PB2的外部中斷功能需要做如下初始化配置:

1 使能PB2的端口clock及復用功能clock

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB | RCC_APB2Periph_AFIO, ENABLE);

2 中斷優先級初始化

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1);//選擇中斷分組1

NVIC_InitStructure.NVIC_IRQChannel = EXTI2_IRQChannel; //選擇中斷通道2

NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1; //搶占中斷優先級設置為1

NVIC_InitStructure.NVIC_IRQChannelSubPriority =2; //響應中斷優先級設置為2

NVIC_InitStructure.NVIC_IRQChannelCmd=ENABLE; //使能中斷

3 IO初始化

PIO_InitStructure.GPIO_Pin=GPIO_Pin_2; //選擇引腳PB2

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //輸出頻率最大50MHz

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;; //輸入

GPIO_Init(GPIOB,&GPIO_InitStructure);

4 把PB2設置為外部中斷模式

GPIO_EXTILineConfig(GPIO_PortSourceGPIOB, GPIO_PinSource2);

EXTI_InitStructure.EXTI_Line = EXTI_Line2; //選擇中斷線路2

EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt; //設置為中斷請求 EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising_Falling; //觸發方式為上下降沿觸發

EXTI_InitStructure.EXTI_LineCmd=ENABLE; //外部中斷使能

EXTI_Init(&EXTI_InitStructure);

5 中斷處理函數

void EXTI2_IRQHandler(void)

{

//處理程序


//清空中斷標志位,防止連續進入中斷

EXTI_ClearITPendingBit(EXTI_Line2);

}

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

    關注

    2272

    文章

    10923

    瀏覽量

    357402
  • 外部中斷
    +關注

    關注

    1

    文章

    132

    瀏覽量

    15872
  • 裸機
    +關注

    關注

    0

    文章

    39

    瀏覽量

    6425
  • MCU芯片
    +關注

    關注

    3

    文章

    253

    瀏覽量

    11621
收藏 人收藏

    評論

    相關推薦

    STM32 GPIO的外部中斷設計

    輸入引腳,還可以通過另外一種叫做外部中斷的方式來對引腳的輸入信號進行檢測,本篇首先介紹下EXTI的結構,接著介紹外部中斷的相關概念,對STM32
    發表于 04-14 10:51 ?2206次閱讀
    <b class='flag-5'>STM32</b> GPIO的<b class='flag-5'>外部</b><b class='flag-5'>中斷</b>設計

    STM32外部中斷使用配置過程

    一:外部中斷使用配置過程:(1)配置時鐘信號(2)引腳屬性(3)NVIC配置(4)外部中斷配置二:STM
    發表于 08-16 07:52

    STM32外部中斷實現紅外遙控功能

    STM32外部中斷實現紅外遙控功能。
    發表于 12-14 15:49 ?67次下載

    STM32_外部中斷程序

    STM32 外部中斷程序,很好的學習資料,快來下載吧
    發表于 02-15 17:09 ?30次下載

    Mini STM32 外部中斷實驗

    一、外部中斷概述1、STM32的每個IO都可以作為外部中斷輸入。2、STM32
    發表于 11-22 15:06 ?10次下載
    Mini <b class='flag-5'>STM32</b> <b class='flag-5'>外部</b><b class='flag-5'>中斷</b>實驗

    STM32f10x 外部中斷中斷分組

    利用外部中斷來實現按鍵控制LED燈的亮滅。實驗工具:MDK5,STM32F103ZET6開發板使用固件庫編程LED燈引腳PD13,按鍵PE0首先了解一下32的外部
    發表于 11-23 18:06 ?4次下載
    <b class='flag-5'>STM32</b>f10x <b class='flag-5'>外部</b><b class='flag-5'>中斷</b>及<b class='flag-5'>中斷</b>分組

    STM32外部中斷實驗-EXTI

    STM32 外部中斷簡介STM32 的每個 IO 都可以作為外部中斷
    發表于 11-29 16:06 ?9次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>外部</b><b class='flag-5'>中斷</b>實驗-EXTI

    STM32(六)-------中斷外部中斷

    STM32中斷應用中斷知識介紹STM32 中斷應用概覽異常NVIC優先級定義中斷知識介紹
    發表于 12-04 17:21 ?9次下載
    <b class='flag-5'>STM32</b>(六)-------<b class='flag-5'>中斷</b>(<b class='flag-5'>外部</b><b class='flag-5'>中斷</b>)

    STM32 外部中斷實驗參考程序

    STM32 外部中斷實驗程序,供STM32初學者參考。
    發表于 12-30 10:46 ?41次下載

    STM32_EXTI外部中斷學習筆記

    單片機有兩個外部中斷?,分別為外部中斷0、1。用來實時地處理外部事件的一種內部機制。當某種外部
    發表于 01-14 15:21 ?3次下載
    <b class='flag-5'>STM32</b>_EXTI<b class='flag-5'>外部</b><b class='flag-5'>中斷</b>學習筆記

    STM32的IO外部中斷EXTI的使用

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

    STM32單片機外部中斷簡介 STM32單片機外部中斷的配置過程

    STM32 單片機是一款高性能、低功耗的 32 位微控制器,具有強大的計算能力、靈活的外設模塊以及優秀的擴展性,開發周期短、成本低。在單片機應用中,外部中斷是一種重要的硬件觸發方式,本文將對
    發表于 08-15 18:21 ?3199次閱讀

    STM32學習筆記一外部中斷

    STM32 的每個 IO 都可以作為外部中斷中斷輸入口。STM32F103 的中斷控制器支持
    的頭像 發表于 10-24 14:12 ?1470次閱讀
    <b class='flag-5'>STM32</b>學習筆記一<b class='flag-5'>外部</b><b class='flag-5'>中斷</b>

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

    STM32如何配置外部中斷STM32外部中斷配置步驟? 作為一款現代化的微控制器,
    的頭像 發表于 10-26 17:47 ?3835次閱讀

    STM32外部中斷大問題

    出現這種情況,明明沒有觸發外部中斷,可是中斷服務函數還是不斷的++。問題一:電氣噪聲和抖動電氣噪聲和抖動是常見的問題,可能會導致STM32外部
    的頭像 發表于 11-08 08:00 ?2498次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>外部</b><b class='flag-5'>中斷</b>大問題
    主站蜘蛛池模板: 偷拍精品视频一区二区三区 | 99精品免费在线观看 | 国产精品97久久久久久AV色戒 | qvod电影资源 | 漂亮的av女演员 | sihu国产精品永久免费 | 午夜片无码区在线观看 | 久久国产精品免费A片蜜芽 久久国产精品萌白酱免费 久久国产精品麻豆AV影视 | 91亚洲精品福利在线播放 | 亚洲精品无码成人AAA片 | 亚洲精品中文字幕制 | 大香伊人久久精品一区二区 | 中文日韩亚洲欧美字幕 | 美女大本营 | 免费人妻无码AV不卡在线 | 小萝ar视频网站 | 全黄H全肉细节文NP 全黄h全肉细节全文 | 亚洲一区二区免费看 | 日本xxx在线观看免费播放 | 免费看黄色一级 | 国产午夜人成在线视频麻豆 | 色婷婷五月综合久久中文字幕 | 国产午夜高潮熟女精品AV | 午夜熟女插插XX免费视频 | 中文字幕无码他人妻味 | 伊人激情综合网 | adc网址在线观看 | 久久99综合国产精品亚洲首页 | 精品AV无码一二三区视频 | 男女一边摸一边做羞羞的事情免费 | 日韩精品欧美亚洲高清有无 | 骚浪插深些好烫喷了 | 最新色导航 | 亚洲 日韩 在线 国产 精品 | 久久天天躁狠狠躁夜夜呲 | 年轻的搜子8中字在线观看 年轻的朋友4在线看中文字幕 | 无码日韩人妻精品久久蜜桃免费 | 青青伊人久久 | 欧美精品色视频 | 久久99精品AV99果冻 | 成人a视频片在线观看免费 成人a毛片久久免费播放 |