新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 關(guān)于STM32的ADC的掃描模式

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

作者: 時間:2016-11-27 來源:網(wǎng)絡(luò) 收藏
下面這張截圖是 我看的 STM32參考手冊的關(guān)于ADC狀態(tài)寄存器ADC1_SR的資料


我經(jīng)過參考網(wǎng)上的資料 感覺EOC位好像是每個通道轉(zhuǎn)換結(jié)束 置位。而不是像書上這樣說的 通道組轉(zhuǎn)換結(jié)束時置位。
就像掃描模式,應(yīng)該是每一個通道轉(zhuǎn)換完就置一次,而不是等所有的通道都結(jié)束了才置位的。
不知道我理解的對不對?
書上寫錯了的?
1L:
額!這個還真不知道
2L(版主):
回復(fù)【樓主位】utopia779:
---------------------------------
這個要實驗一下了.以實際實驗結(jié)果為準(zhǔn).
3L:
應(yīng)該是每一個通道轉(zhuǎn)換完就置一次
這樣的話DMA才能在每個通道轉(zhuǎn)換完立即取出數(shù)據(jù)

我是這樣理解的
4L(我自己):
這個問題 現(xiàn)在我的理解是這樣的

這個采樣結(jié)束標(biāo)記位 是完成所有的通道才置位的

所以,我們無法讀取每個通道的采樣數(shù)據(jù)

那怎么辦呢?

那就需要使用DMA來讀數(shù)據(jù)。

會有人問 DMA怎么知道 什么時候采樣數(shù)據(jù)呢!

這個看 STM參考手冊 或許 能夠看得出來。

ADC的DMA請求并不經(jīng)過 規(guī)則通道數(shù)據(jù)寄存器,而是通過轉(zhuǎn)換器直接申請。


立此為證,等我完全明白了 再來解釋。

補(bǔ)充一張圖 就會發(fā)現(xiàn) 采樣多個通道 必須使用DMA
如下圖
具體的使用步驟:
主要是配置 ADC和 DMA。記得打開ADC的DMA允許位。






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


關(guān)鍵詞: STM32ADC掃描模

評論


技術(shù)專區(qū)

關(guān)閉