<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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


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

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

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

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

          那怎么辦呢?

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

          會(huì)有人問(wèn) DMA怎么知道 什么時(shí)候采樣數(shù)據(jù)呢!

          這個(gè)看 STM參考手冊(cè) 或許 能夠看得出來(lái)。

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


          立此為證,等我完全明白了 再來(lái)解釋。

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






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


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

          評(píng)論


          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();