求教高手STM32中SDIO DMA模式的中斷設定問題

時間 2021-06-08 18:30:47

1樓:愛來聚海的風暴

不是4個埠,而是用4位元的方式來傳輸資料。其實sd都支援spi方式,這種方式下,只有1個bit來傳輸,會很慢,因此4bit就快了。具體提現在stm32因為有內部sd控制器,因此他可以支援這種4bits模式。

就是你說的diskio.c檔案中的read/write會利用這個

stm32 dma寫sd長時間執行無法進入dma完成中斷 200

2樓:mal小朕狼

你看看中斷優先順序

要 sdio>dma的

stm32+sdio+dma 4bits 出現卡死問題求助

3樓:城南明月羿當年

具體這個問題,我沒有遇到過,不過能從你的描述來看,可能是你自己的程式問題:

1、用官方例程來測試沒有問題,至少說明硬體和軟體出現問題的機率比較小

2、加中斷後,出現問題。這就很可能是中斷處理的問題。

3、如果你沒有加作業系統的話,就是你採用前後臺的系統結構。

(1)把定時器的中斷處理時間儘量減少(就是在中斷響應函式執行時間縮短)

(2)把中斷過程處理的for迴圈移到中斷外面來處理,比如main函式裡面,在中斷函式只要做一個標記就可以了。

從你描述的過程中,應該是中斷執行時間太久的原因(for迴圈越長出現這種卡死的概率越大),這個很可能是系統錯過了某個事件。

不知道你的中斷的優先順序是怎麼配置的。也有可能是讓dma中斷不能及時響應。

stm32+sdio+dma 4bits 出現卡死問題求助

4樓:匿名使用者

具體這個問題,我沒有遇到過,不過能從你的描述來看,可能是你自己的程式問題: 1、用官方例程來測試沒有問題,至少說明硬體和軟體出現問題的機率比較小 2、加中斷後,出現問題。這就很可能是中斷處理的問題。

3、如果你沒有加作業系統的話

stm32+sdio+dma 4bits 出現卡死問題求助

5樓:匿名使用者

不是4個埠,而是用4位元的方式來傳輸資料。其實sd都支援spi方式,這種方式下,只有1個bit來傳輸,會很慢,因此4bit就快了。具體提現在stm32因為有內部sd控制器,因此他可以支援這種4bits模式。

就是你說的diskio.c檔案中的read/write會利用這個

stm32+sdio+dma 4bits 出現卡死問題求助

6樓:

呵呵,我沒遇到這樣的問題,再研究下吧,相信你一定能解決的!

stm32學習困惑,stm32 學習困惑

正點原子的iap例程,應該能幫到你一點。stm32的內部快閃記憶體 flash 地址起始於0x08000000,一般情況下,程式檔案就從此地 址開始寫入。此外stm32是基於cortex m3核心的微控制器,其內部通過一張 中斷向量表 來響應中斷,程式啟動後,將首先從 中斷向量表 取出復位中斷向量執...

stm32執行一句語句需要多少,STM32執行一句語句需要多少ns

那要看你設定stm32的主頻是多少hz了,另外,有的指令是單週期的,還有是多週期完成的,看你用什麼指令了,單週期指令比如nop就可以用 stm32語句的執行時間是多少 stm32有多個系列,主頻也不一樣 可配置 misp也不一樣,可以通過測試來得到。如果需要延時的話,stm32定時器比較多,可以使用...

stm32的優勢主要有哪些,STM32的優勢主要有哪些

以下是stm32的優勢介紹,供參考 1.除新增的功能強化型外設介面外,stm32互連繫列還提供與其它stm32微控制器相同的標準介面,這種外設共用性提升了整個產品家族的應用靈活性,使開發人員可以在多個設計中重複使用同一個軟體。新stm32的標準外設包括10個定時器 兩個12位1 msample s ...