關(guān)于STM32的ADC的掃描模式

我經(jīng)過(guò)參考網(wǎng)上的資料 感覺(jué)EOC位
就像掃描模式,應該是每一個(gè)通道轉換完就置一次,而不是等所有的通道都結束了才置位的。
不知道我理解的對不對?
書(shū)上寫(xiě)錯了的?
1L:
額!這個(gè)還真不知道
2L(版主):
回復【樓主位】 utopia779 :
---------------------------------
這個(gè)要實(shí)驗一下了.以實(shí)際實(shí)驗結果為準.
---------------------------------
這個(gè)要實(shí)驗一下了.以實(shí)際實(shí)驗結果為準.
3L:
應該是每一個(gè)通道轉換完就置一次
這樣的話(huà)DMA才能在每個(gè)通道轉換完立即取出數據
我是這樣理解的
這樣的話(huà)DMA才能在每個(gè)通道轉換完立即取出數據
我是這樣理解的
4L(我自己):
這個(gè)問(wèn)題 現在我的理解是這樣的
這個(gè)采樣結束標記位 是完成所有的通道才置位的
所以,我們無(wú)法讀取每個(gè)通道的采樣數據
那怎么辦呢?
那就需要使用DMA來(lái)讀數據。
會(huì )有人問(wèn) DMA怎么知道 什么時(shí)候采樣數據呢!
這個(gè)看 STM參考手冊 或許 能夠看得出來(lái)。
ADC的DMA請求并不經(jīng)過(guò) 規則通道數據寄存器,而是通過(guò)轉換器直接申請。
立此為證,等我完全明白了 再來(lái)解釋。
這個(gè)采樣結束標記位 是完成所有的通道才置位的
所以,我們無(wú)法讀取每個(gè)通道的采樣數據
那怎么辦呢?
那就需要使用DMA來(lái)讀數據。
會(huì )有人問(wèn) DMA怎么知道 什么時(shí)候采樣數據呢!
這個(gè)看 STM參考手冊 或許 能夠看得出來(lái)。
ADC的DMA請求并不經(jīng)過(guò) 規則通道數據寄存器,而是通過(guò)轉換器直接申請。
立此為證,等我完全明白了 再來(lái)解釋。
補充一張圖 就會(huì )發(fā)現
如下圖

具體的使用步驟:
主要是配置 ADC和 DMA。記得打開(kāi)ADC的DMA允許位。



打開(kāi)一次DMA的傳輸 DMA開(kāi)始工作
然后開(kāi)始進(jìn)行AD轉換,轉換后產(chǎn)生DMA請求,將數據進(jìn)行存儲, 存儲的采樣數取決于 DMA設置的數量。
評論