中斷功能在微控制器上一直在用,今天學習在2440上用外部中斷的方式,實現按鍵檢測功能。
1. 中斷生命週期:中斷源,中斷過濾,中斷處理
1.1 中斷源:2440有60個中斷源。
1.2 中斷過濾:
有兩個關卡,submask和mask,中斷方式有mode控制。
1.3 中斷處理:
非向量方式:2440
向量方式:6410,120
下面介紹非向量處理方式:
下面介紹向量處理方式:
2.寫中斷程式
先把程式模組化定義乙個main.c呼叫其他檔案內函式,led.c, interrupt.c,mmu.c,
mmu.c不是全部**,因為是mmu的設定,這在上一節中寫過。
接下來更改start.s檔案的irp:,當晶元遇到中斷就會先跳到這條指令上。這指令應該儲存全部暫存器,以便後期恢復。
通過intoffset暫存器判斷哪個中斷源產生中斷,然後點亮對應led指示燈
最後清零兩個中斷暫存器,srcpnd,intpnd.如果用到其他也要清零。
三 s3c2440 中斷實驗
中斷實驗 一 進入中斷前的準備 1 儲存進入中斷前的環境 2 進入中斷模式,設定中斷模式下的棧 二 中斷處理框圖詳解 第一路 當內部觸發中斷後,subsrcpnd相應的位置1,代表某個中斷發生。並且srcpnd的相應位也置1。對於普通中斷irq,當同時發生幾個中斷的時候,我們要通過優先順序來決定哪個...
S3C2440 中斷控制暫存器
1 subsrcpnd 暫存器 sub source pending subsrcpnd 暫存器被用來標識 int rxd0 int txd0 等中斷 s3c2410中這類中斷有 11 個,而 s3c2440 中有 15 個 是否已經發生,每位對應乙個中斷。當這些中斷發生並且沒有被 intsubms...
S3C2440中斷暫存器
s3c2440的中斷暫存器 1.中斷分兩大類 內部中斷和外部中斷。2.外部中斷。24個外部中斷占用gpf0 gpf7 eint0 eint7 gpg0 gpg15 eint8 eint23 用這些腳做中斷輸入,則必須配置引腳為中斷,並且不要上拉。具體參考datesheet資料手冊。暫存器 extin...