STM32---ADC

1.
這就是爲什麼我用規則三重ADC模式,ADC3接到PA4上爲什麼就得不到數據,這種問題只能定心慢慢找。
這裏寫圖片描述

2.
交替模式,三重ADC模式,DMA傳輸模式2

在此模式下,每當出現 2 個可用數據項時,就會生成一個 DMA 傳輸請求(如果 ADC_CCR
寄存器中的 DMA[1:0] 位等於 0b10)。此請求首先會將存儲在 ADC_CDR 32 位寄存器低位
半字中的第一批轉換數據傳輸到 SRAM,然後將存儲在 ADC_CDR 高位半字中的第二批轉
換數據傳輸到 SRAM。具體順序如下:
● 第 1 個請求: ADC_CDR[31:0] = ADC2_DR[15:0] | ADC1_DR[15:0]
● 第 2 個請求: ADC_CDR[31:0] = ADC1_DR[15:0] | ADC3_DR[15:0]
● 第 3 個請求: ADC_CDR[31:0] = ADC3_DR[15:0] | ADC2_DR[15:0]
● 第 4 個請求: ADC_CDR[31:0] = ADC2_DR[15:0] | ADC1_DR[15:0], …

交替模式的意義在於應該是可以採集用幾個ADC才採集同一個通道,只要採樣的時刻避開就行。

3.掃描模式vs連續模式

連續轉換模式
在連續轉換模式中,當前面ADC轉換一結束馬上就啓動另一次轉換。此模式可通過外部觸發啓
動或通過設置ADC_CR2寄存器上的ADON位啓動,此時CONT位是1。
每個轉換後:
● 如果一個規則通道被轉換:
─ 轉換數據被儲存在16位的ADC_DR寄存器中
─ EOC(轉換結束)標誌被設置
─ 如果設置了EOCIE,則產生中斷。

掃描模式
此模式用來掃描一組模擬通道。
掃描模式可通過設置ADC_CR1寄存器的SCAN位來選擇。一旦這個位被設置, ADC掃描所有被
ADC_SQRX寄存器(對規則通道)或ADC_JSQR(對注入通道)選中的所有通道。在每個組的每個通道上執行單次轉換。在每個轉換結束時,同一組的下一個通道被自動轉換。如果設置了CONT位,轉換不會在選擇組的最後一個通道上停止,而是再次從選擇組的第一個通道繼續轉換。
如果設置了DMA位,在每次EOC後, DMA控制器把規則組通道的轉換數據傳輸到SRAM中。而
注入通道轉換的數據總是存儲在ADC_JDRx寄存器中。

發佈了51 篇原創文章 · 獲贊 26 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章