最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

EXTI中斷使用

2023-08-06 14:24 作者:趙青云灬  | 我要投稿


EXTI中斷初始化

  1. GPIO端口初始化(使用輸入模式)。

  2. 打開(kāi)AFIO時(shí)鐘。AFIO的時(shí)鐘接在APB2上,使用函數(shù)RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE)打開(kāi)時(shí)鐘。

  3. EXTI初始化。

  • 選擇GPIO端口作為EXTI的線路。使用函數(shù)GPIO_EXTILineConfig(uint8_t GPIO_PortSource, uint8_t GPIO_PinSource) 。例如:????


? ? ? 函數(shù)說(shuō)明


  • 定義結(jié)構(gòu)體變量。與GPIO的初始化類(lèi)似,EXTI的初始化也需要定義結(jié)構(gòu)體變量。結(jié)構(gòu)? ? 體名為EXTI_InitTypeDef,一般命名為EXTI_InitStruct。同樣,該結(jié)構(gòu)體變量里有四個(gè)成員,? 對(duì)四個(gè)成員分別進(jìn)行賦值即可。例如圖。


注意, .EXTI_Trigger 該成員控制中斷的觸發(fā)條件,有三個(gè)可選項(xiàng):上升沿觸發(fā)、下降沿觸發(fā)、上升下降沿觸發(fā)


  • EXTI初始化。直接使用函數(shù)?EXTI_Init(&EXTI_InitStruct); 對(duì)EXTI進(jìn)行初始化。

NVIC

  1. 選定NVIC的優(yōu)先級(jí)模式。NVIC的優(yōu)先級(jí)分為搶占優(yōu)先級(jí)響應(yīng)優(yōu)先級(jí)。搶占優(yōu)先級(jí)高的中斷程序先執(zhí)行,若搶占優(yōu)先級(jí)相同,則比較響應(yīng)優(yōu)先級(jí)。優(yōu)先級(jí)寄存器有四位,存在四種分配模式,按需選擇。

? ? ? ?優(yōu)先級(jí)可選模式:

2.定義結(jié)構(gòu)體變量與GPIO、EXTI類(lèi)似,定義一個(gè)結(jié)構(gòu)體變量以便進(jìn)行初始化。

其中.NVIC_IRQChannelPreemptionPriority與.NVIC_IRQChannelSubPriority分別為搶占優(yōu)先級(jí)與響應(yīng)優(yōu)先級(jí)。不同的模式存在不同的賦值,但數(shù)字越小優(yōu)先級(jí)越高。

3.初始化。

中斷函數(shù)

中斷函數(shù)的定義可以在startup文件中找到。由于在起始文件中有所定義,所以在模塊化編程時(shí)可以不在頭文件中聲明即可在主函數(shù)中使用。

  1. 找到對(duì)應(yīng)中斷函數(shù)。例如EXTI_Line0對(duì)應(yīng)的中斷函數(shù)為EXTI0_IRQHandler()。以此類(lèi)推。

    注意:

    (1)中斷函數(shù)的名字不可變更。

    (2)中斷函數(shù)沒(méi)有返回值,括號(hào)內(nèi)也沒(méi)有參數(shù)。

    (3)10~15號(hào)端口使用同一個(gè)中斷函數(shù) EXTI15_10_IRQHandler() 。

  2. 進(jìn)行 if 判斷(有時(shí)可有可無(wú))。主要針對(duì)?EXTI15_10_IRQHandler() 。對(duì)于10~15號(hào)端口引起的中斷,避免不同端口進(jìn)入同一程序造成混亂,可以進(jìn)行 if 判斷。如果對(duì)應(yīng)端口的標(biāo)志位為SET,證明時(shí)該端口引發(fā)的中斷,可以進(jìn)入相應(yīng)的程序。

其中 EXTI_GetITStatus(uint32_t EXTI_Line); 用于檢測(cè)中斷標(biāo)志位,返回值為 SET或RESET

注意:該函數(shù)只能在中斷函數(shù)中使用。

同時(shí) EXTI_GetFlagStatus(uint32_t EXTI_Line); 有相同的功能,但在外部或中斷函數(shù)內(nèi)都可使用。建議在外部時(shí)使用該函數(shù),在中斷內(nèi)部時(shí)用?EXTI_GetITStatus(uint32_t EXTI_Line);?

3.標(biāo)志位清除。用軟件對(duì)標(biāo)志位進(jìn)行清除,防止中斷永遠(yuǎn)進(jìn)行下去。

說(shuō)明:

1.對(duì)于不同GPIO的相同端口(如GPIOA的Pin1和GPIOB的Pin1),不能同時(shí)使用中斷函數(shù)。

EXTI中斷使用的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
本溪市| 宣汉县| 筠连县| 沙坪坝区| 安丘市| 玛沁县| 耒阳市| 娱乐| 翼城县| 合肥市| 大厂| 博白县| 宁武县| 贵州省| 扎赉特旗| 顺义区| 大冶市| 西贡区| 清丰县| 塘沽区| 揭西县| 当阳市| 广南县| 中宁县| 齐齐哈尔市| 锡林浩特市| 黎城县| 梅州市| 讷河市| 永寿县| 东宁县| 内丘县| 富宁县| 湖北省| 安福县| 克什克腾旗| 石河子市| 新津县| 如皋市| 汉阴县| 南岸区|