找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2737|回復(fù): 6
收起左側(cè)

如何獲知,當(dāng)前單片機(jī)程序里哪個中斷被觸發(fā)了?

[復(fù)制鏈接]
ID:857680 發(fā)表于 2021-1-8 10:44 | 顯示全部樓層 |閱讀模式
諸位,我的單片機(jī)程序里使用了中斷 0, 1, 5 這幾個中斷。但是,發(fā)現(xiàn)了不能很好的進(jìn)入中斷函數(shù)。

所以想做個實驗:讀取現(xiàn)在程序中那個中斷號被調(diào)用了,然后記錄下來。但是不清楚單片機(jī)里,如何獲知當(dāng)前中斷號。 不知道是否方便提供一個思路。

謝謝




回復(fù)

使用道具 舉報

ID:235200 發(fā)表于 2021-1-8 12:06 | 顯示全部樓層
一種方法是通過仿真調(diào)試查看進(jìn)入了哪一個中斷,另一種方法是在進(jìn)入中斷后設(shè)置一個變量,把當(dāng)前的變量顯示出來,如進(jìn)入1號中斷該變量賦值1,如進(jìn)入2號中斷該變量賦值2等,主程充把當(dāng)前的變量值顯示出來
回復(fù)

使用道具 舉報

ID:247387 發(fā)表于 2021-1-8 13:33 | 顯示全部樓層
很多方法,LED顯示,串口打印調(diào)試信息。
回復(fù)

使用道具 舉報

ID:390416 發(fā)表于 2021-1-8 14:36 | 顯示全部樓層
定時器里面用一個普通IO口翻轉(zhuǎn) 搞個邏輯分析儀抓一下就出來了
回復(fù)

使用道具 舉報

ID:401564 發(fā)表于 2021-1-9 11:00 | 顯示全部樓層
你可以設(shè)定中斷對應(yīng)一個IO端口
觸發(fā)中斷就置位這個IO就可以知道是哪個中斷觸發(fā)了
回復(fù)

使用道具 舉報

ID:752974 發(fā)表于 2021-1-9 11:08 | 顯示全部樓層
單片機(jī)里都有一個中斷狀態(tài)寄存器(ARM中叫中斷掛起寄存器),記錄中斷的中作狀態(tài),讀出來判斷一下就知道了。
回復(fù)

使用道具 舉報

ID:80221 發(fā)表于 2021-1-9 11:46 | 顯示全部樓層
讀所有的中斷Pending 位,哪個被置起就是哪個被觸發(fā)
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表