stm32中斷無電平觸發的解決辦法

2022-05-16 21:11:50 字數 733 閱讀 4202

這幾天在用stm32讀取fpga中fifo裡的資料,遇到了不少的問題。這裡就其中的乙個問題寫寫,比較簡單,就當做是打發一下時間。

問題就是,stm32的中斷沒有電平觸發方式。stm32讀取fifo中的資料,當fifo資料非空時給stm32中斷訊號——將對應的中斷線拉高/低,這時stm32取fifo中資料直至讀完,fifo將中斷線電平拉低/高。然後當fifo中又有資料時,在次發出中斷訊號,如此迴圈。

rd_en:  使能訊號           tx_data: 資料

圖一

圖二  

怎麼解決呢?我的做法是這樣的。如圖三所示: 在箭頭1處,用while迴圈,裡面的判斷條件是讀取的中斷輸入引腳(我設定為gpioe_pin4)的值,如果這個引腳的值是1的話,就繼續讀資料。如果值為0的話就退出while迴圈,清中斷(箭頭2處),再退出中斷函式。

圖三

圖四從圖五里可以可以看到,讀出了資料,而且就是事先寫入fifo裡的資料。另外,led燈在串列埠除錯助手printf出資料時,停止閃爍。資料printf完後,有開始閃。和預期一樣

圖五比較簡單,見笑了...

STM32中斷觸發

使用pb1作為外部中斷觸發,按一次按鍵燈處於亮狀態,在按一次燈滅。1 先配置gpio埠 復用管腳外設時鐘使能gpio config void gpio config void 2 配置巢狀向量中斷控制nvic config void 使用不同通道時得注意,exti0 exti4對應的是exti0 i...

stm32 外部中斷 按鍵的誤觸發

最近在除錯按鍵作為外部中斷exti進行觸發動作,發現每次按鍵按下和按鍵抬起都會多次進入中斷函式,造成程式不穩定,經過反覆除錯和查閱資料,最後終於已經把這個問題解決,現在總結一下 1 exti重複配置兩次導致誤觸發中斷的問題 如果重複兩次配置exti的話,由於第一次已經開啟中斷,當進行第二次配置中斷的...

stm32中斷優先順序 STM32中斷系統

stm32 中斷非常強大,幾乎每個外設都可以產生中斷,因此這裡我們單獨使用一章來介紹它,為後面介紹外設中斷做鋪墊。學習本章可以參考 stm32f10x中文參考手冊 9 中斷和事件章節,cortex m3 權威指南 中文 chpt08 nvic與中斷控制章節。中斷概念 在學習 51 微控制器時,我們就...