精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

STM8S_009_ EXTI外部中斷

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-03-14 14:56 ? 次閱讀

有人問

我使用EXIT喚醒芯片,沒什么沒有觸發中斷,芯片卻喚醒了?

Ⅰ寫在前面

使用STM8S開發過上面類似功能的朋友應該會知道,STM8S的穩定性不如STM32,特別是在低功耗時,使用EXTI外部中斷喚醒,很容易受到干擾信號而喚醒。因此,這種情況需在硬件電路上多加考慮抗干擾的電路。

其次,就是注意軟件的上下拉配置,如果外部加了上拉或下拉電阻,不建議再配置成上拉或下拉;如果沒有,建議加上。要使其軟件穩定,還得深入EXTI的功能。

ⅡEXTI基礎知識

STM8S的EXTI外部中斷歸屬于GPIO一類,只需要將其IO配置成外部中斷、使能全局中斷、在中斷入口函數添加相關的代碼即可。

開啟中斷功能

用戶可以在I/O引腳為輸入模式時通過設置Px_CR2寄存器的相應位來配置某個I/O作為外部輸入中斷模式。在該配置下, I/O引腳上的一個信號沿或是低電平會產生一個中斷請求。

在EXTI_CR[2:1]寄存器中對于每一個中斷向量都可以獨立編程為上升沿或下降沿觸發。

外部中斷只有在對應I/O口被設置為輸入模式下才有效。

屏蔽中斷功能

可以通過對Px_CR2寄存器的相應位進行編程來單獨使能/關閉外部中斷功能。復位后外部中斷是關閉的。

提示:EXTI外部中斷只有在IO輸入模式下才有效,配置才輸出模式,不能正常由外部觸發中斷。

Ⅲ軟件工程源代碼

1.關于工程

本文提供的工程代碼是基于前面軟件工程“STM8S-A04_UART基本收發數據”增加EXTI外部中斷修改而來。初學的朋友可以參看我前面對應的基礎文章,那些文章講的比較詳細。

2.EXTI引腳配置

我們尚且定義為按鍵KEY,浮動輸入,中斷模式。

#define KEY_GPIO_PORT GPIOD

#define KEY_GPIO_PIN GPIO_PIN_2

GPIO_Init(KEY_GPIO_PORT, (GPIO_Pin_TypeDef)KEY_GPIO_PIN, GPIO_MODE_IN_FL_IT);

3.EXTI中斷配置

void EXTI_Configuration(void)

{

EXTI_SetExtIntSensitivity(EXTI_PORT_GPIOD, EXTI_SENSITIVITY_FALL_ONLY);

EXTI_SetTLISensitivity(EXTI_TLISENSITIVITY_FALL_ONLY);

}

這個地方配置成下降沿中斷,端口需對應引腳的端口。

4.中斷入口函數

#define KEY_READ GPIO_ReadInputPin(KEY_GPIO_PORT, KEY_GPIO_PIN)

INTERRUPT_HANDLER(EXTI_PORTD_IRQHandler, 6)

{

if(RESET == KEY_READ)

{

IT_Delay(50); //延時消抖

if(RESET == KEY_READ) //確認按下

{

LED_REVERSE; //改變LED狀態

}

}

}

提示:我們使用的GPIOD,入口需要對應。

下載

STM8S資料

http://pan.baidu.com/s/1o7Tb9Yq

軟件源代碼工程兩版本(STM8S-A09_EXTI外部中斷):

http://pan.baidu.com/s/1c2EcRo0

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

    關注

    0

    文章

    4

    瀏覽量

    6991
  • STM8S
    +關注

    關注

    16

    文章

    149

    瀏覽量

    31369
收藏 人收藏

    評論

    相關推薦

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

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

    【GD32 MCU 入門教程】GD32 MCU 常見外設介紹(4)EXTI 中斷介紹

    EXTI(中斷/事件控制器)包含多個相互獨立的邊沿檢測電路并且能夠向處理器內核產生中斷請求或喚醒事件。 EXTI 有三種觸發類型:上升沿觸發、下降沿觸發和任意沿觸發。
    的頭像 發表于 08-13 11:20 ?390次閱讀
    【GD32 MCU 入門教程】GD32 MCU 常見外設介紹(4)<b class='flag-5'>EXTI</b> <b class='flag-5'>中斷</b>介紹

    TPD8S009用于DisplayPort和HDMI的8通道ESD保護數據表

    電子發燒友網站提供《TPD8S009用于DisplayPort和HDMI的8通道ESD保護數據表.pdf》資料免費下載
    發表于 07-11 10:41 ?0次下載
    TPD<b class='flag-5'>8S009</b>用于DisplayPort和HDMI的<b class='flag-5'>8</b>通道ESD保護數據表

    求助,關于STM8S103外部中斷問題求解

    );/*設置為上升沿和下降沿觸發觸發中斷*/ EXTI_CR1 |= (uint8_t)((uint8_t)(0x01) << 4);/*設置為上升沿和下降沿觸發觸發
    發表于 05-16 07:25

    STM8進入halt模式后由EXTI中斷喚醒,程序無法繼續正常運行下去的原因?

    大家好,我現在有一個問題請教: 1. 我的STM8S103K3在執行完相關任務后進入halt模式,在進入之前我設置了幾個EXTI中斷 2. 中斷服務函數中沒有任何的操作,只起一個喚醒系
    發表于 05-15 06:40

    STM8L外部中斷跟普通MCU的外部中斷不一致,為什么?

    最近公司一個案子需要用到超低功耗MCU,在TI和ST的片子中糾結了一段時間,最后選了ST的STM8L151G2U6。 在使用外部中斷的時候迷糊了,發現這個的外部
    發表于 05-15 06:23

    stm32怎么設置EXTI10 、EXTI11、EXTI12、EXTI13、EXTI14、EXTI15的中斷優先級呢?

    EXTI15_10_IRQHandler中EXTI10 、EXTI11、EXTI12、EXTI13、EX
    發表于 05-14 08:30

    求助,STM8S外部中斷的問題求解

    stm8s103 外部中斷問題,比如PD2口設置了外部中斷,上升沿觸發,此中斷軟件優先級3級最高
    發表于 05-10 08:23

    STM8S外部中斷進去了,出不來怎么解決?

    STM8S外部中斷進去了,出不來。也沒有中斷標志位,怎么才能讓程序走出來?
    發表于 05-09 06:25

    【GD32F470紫藤派開發板使用手冊】第三講 EXTI-按鍵中斷檢測實驗

    通過本實驗主要學習以下內容: EXTI中斷原理; 按鍵中斷檢測原理;
    的頭像 發表于 05-05 09:22 ?492次閱讀
    【GD32F470紫藤派開發板使用手冊】第三講 <b class='flag-5'>EXTI</b>-按鍵<b class='flag-5'>中斷</b>檢測實驗

    請問stm32l152的外部中斷EXTI9_5_IRQn怎么使用?

    中斷向量EXTI9_5_IRQn包含了5種管腳的中斷。如果我設置了GPIO6和GPIO7為外部中斷。我使用HAL庫,,那么
    發表于 04-22 06:14

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

    結構體   NVIC_InitStructure.NVIC_IRQChannel=EXTI2_IRQn;//使能外部中斷所在的通道
    發表于 04-08 08:05

    PC13 PC14 PC15作為外部中斷輸入口,頻繁進入中斷是為什么?

    );/* 禁止修改RTC和后備寄存器*/ //BKP_ITConfig(DISABLE); ? ? ? /* 禁止TAMPER 中斷*/ } void EXTI0_Config(void)//外部
    發表于 04-03 07:39

    EXTI外部中斷在錯誤的邊沿誤觸發可能什么原因?

    大家在進行MCU項目開發時是否碰到過EXTI外部中斷在錯誤的邊沿誤觸發的情況?比如EXTI配置的為下降沿觸發,實際情況在個別上升沿的時候也被誤觸發了。
    的頭像 發表于 02-03 09:48 ?746次閱讀
    <b class='flag-5'>EXTI</b><b class='flag-5'>外部</b><b class='flag-5'>中斷</b>在錯誤的邊沿誤觸發可能什么原因?

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

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