cc2430 DMA及IRQMASK問題解析

2021-06-09 17:56:03 字數 601 閱讀 2645

dma即direct memory access的縮寫,即「直接記憶體訪問」。它有什麼用呢?它可以不通過cpu來將乙個儲存空間的資料轉移到另乙個儲存空間,從而大大的降低了系統的負擔,讓cpu可以執行其他的操作。這對於嵌入式系統來說是很重要的。

這個實驗就是要將乙個存在sorcestring中的字串「this is a test string used to demonstrate dma transfer」通過dma傳到deststring中去。

主函式如下:

void main(void)

else

while(1){}

}在程式中我們可以看到,irqmask=0,就是說開傳輸結束後,將會產生乙個中斷訊號,在dmairq[4:0]中可以看到。但是我將irqmask置1後,也就是關閉中斷後,發現程式熱可以正常執行,通過觀察暫存器看到dmairq_0仍就有中斷訊號,為什麼呢?我把他們都遮蔽了啊

後來仔細閱讀晶元手冊發現,其中有這麼一句話「

估計ti的設計人員後來覺得如果不產生中斷訊號,後面的程式怎麼跑,必須強制性來個訊號不論你遮蔽與否!

CC2430 Joystick硬體說明

cc2430 joystick 硬體說明 1 目標 學習了cc2430的ad,uart和timer之後,感覺自己有點入門了,接著做一點人機互動的內容。在這裡我介紹一下joystick的硬體連線。剛開始看joystick的硬體部分的時候,還很的覺得有點麻煩的,後來把這個電路分解為反相放大器,同相放大器...

CC2430基礎實驗 外部中斷

外部中斷實驗是使用兩個按鍵來翻轉led狀態,但這裡兩個按鍵不是做鍵盤用,二是產生中斷觸發訊號。p0ifg為p1口中斷標誌暫存器 ien1為中斷使能暫存器1。led管腳設定 即先全域性ea,然後p0中斷開啟,最後相應中斷位置開啟。p1inp 0x0c 有上拉 下拉 p2inp 0x40 選擇上拉 p1...

CC2430基礎 外部中斷分析

外部中斷實驗是使用兩個按鍵來翻轉led狀態,但這裡兩個按鍵,一是做鍵盤用,二是產生中斷觸發訊號。實驗共用到p1 p1 p0dir p1 p0sel p1 p0inp pictl ien1和p0ifg幾個個暫存器。其中前幾個的作用前面的文章裡應經介紹過了,這裡就不再重複說明了。這裡主要是講一下後幾個暫...