大家在進行MCU項目開發時是否碰到過EXTI外部中斷在錯誤的邊沿誤觸發的情況?比如EXTI配置的為下降沿觸發,實際情況在個別上升沿的時候也被誤觸發了。
這個異常現象編者之前碰到過一次,期望上升沿觸發EXTI中斷,卻概率性的出現下降沿也被誤觸發了中斷,經過排查發現,發生異常情況下的下降沿比較緩,且下降過程中有波動,類似下圖情況,該毛刺被MCU捕獲到,誤識別為一個上升沿進而誤觸發了EXTI中斷。
GD32 MCU的輸入高電平識別為高于0.7VDD,低電平識別為低于0.3VDD,在中間電平波動更容易被誤觸發中斷。
解決方法上,可以有以下選擇:1、硬件方式解決:增加濾波電容,濾除錯誤邊沿的毛刺;調整邊沿斜率,讓引腳電平更快跳變,減少在中間電平階段的時間;2、軟件方式解決:增加軟件濾波,進入中斷后延遲進行讀取引腳電平狀態,如果為錯誤的電平狀態,即可認為一個異常的毛刺干擾,丟棄當次狀態處理。
以上即為本期講解,如有問題或建議,歡迎評論區討論。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
單片機
+關注
關注
6035文章
44554瀏覽量
634653 -
嵌入式
+關注
關注
5082文章
19104瀏覽量
304817
發布評論請先 登錄
相關推薦
EXTI重復配置兩次導致誤觸發中斷的問題
的程序中,在使用 EXTI 之前再調用了一次EXTI15_10_Config()將 PC13 設置為外部中斷口。調試運行的時候,發現 PC1
發表于 09-28 15:42
【GD32 MCU 入門教程】GD32 MCU 常見外設介紹(4)EXTI 中斷介紹
EXTI(中斷/事件控制器)包含多個相互獨立的邊沿檢測電路并且能夠向處理器內核產生中斷請求或喚醒事件。 EXTI 有三種
評論