欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2501|回復: 9
打印 上一主題 下一主題
收起左側(cè)

STM32單片機ADC是在滿足那個條件下觸發(fā)DMA搬運?

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:887155 發(fā)表于 2022-4-25 14:42 來自觸屏版 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
各位大佬請指教一下:STM32F103C8T6
我使用DMA來搬運ADC讀取到的數(shù)據(jù),想使用硬件觸發(fā)DMA搬運。那ADC是在滿足那個條件下觸發(fā)DMA搬運的呢?在DMA搬運前ADC讀取到的數(shù)據(jù)又存放在哪里呢?能存多少數(shù)據(jù)呢?在DMA初始化時有一個搬運數(shù)據(jù)的量設置,例如100個數(shù)據(jù),是不是說當ADC采集完100個數(shù)據(jù)后,就會觸發(fā)ADC進行搬運呢?

謝謝!
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:401564 發(fā)表于 2022-4-25 15:37 | 只看該作者
ADC工作在DMA的模式下又不占用運行,干嘛要硬件觸發(fā)呢?
如果不是要降低功耗,ADC可以一直進行,MDA工作在循環(huán)模式下,就一直在保存著一定長度的數(shù)據(jù),你用的時候,只要讀取就可以了
在DMA模式下,每次ADC轉(zhuǎn)換完成,DMA就搬運一次數(shù)據(jù),并不是要等到100次ADC之后才搬運的
如果是你設定了100個數(shù)據(jù),而且,ADC已經(jīng)進行超過了100次,那么,這100個數(shù)據(jù)就一直是最近100次ADC的數(shù)據(jù)
回復

使用道具 舉報

板凳
ID:887155 發(fā)表于 2022-4-25 15:42 來自觸屏版 | 只看該作者
感謝解答!
回復

使用道具 舉報

地板
ID:887155 發(fā)表于 2022-4-25 15:45 來自觸屏版 | 只看該作者
是不是說DMA在循環(huán)模式下,ADC轉(zhuǎn)換成功一次就會觸發(fā)DMA搬運一次數(shù)據(jù)。在DMA搬運數(shù)據(jù)中,有一個數(shù)據(jù)大小,這個參數(shù)是干嘛的呢?是指每次搬運這么多個數(shù)據(jù)嗎?
回復

使用道具 舉報

5#
ID:401564 發(fā)表于 2022-4-25 17:31 | 只看該作者
風吹過又見你 發(fā)表于 2022-4-25 15:45
是不是說DMA在循環(huán)模式下,ADC轉(zhuǎn)換成功一次就會觸發(fā)DMA搬運一次數(shù)據(jù)。在DMA搬運數(shù)據(jù)中,有一個數(shù)據(jù)大小,這 ...

是的是的,每次ADC成功轉(zhuǎn)換一次就搬運一次
但并不是每次搬運100個,只是把ADC的數(shù)據(jù)(就是12位ADC結(jié)果)搬運到DMA初始化時所指定的地址而已
但你說的"數(shù)據(jù)大小"不知道指的是什么,代碼上傳一下
可能是教材不一樣吧,我這本書里只有數(shù)據(jù)位寬和存儲長度,沒有大小這一說
回復

使用道具 舉報

6#
ID:887155 發(fā)表于 2022-4-25 17:55 來自觸屏版 | 只看該作者
就是圈出來了的那一行代碼

mmexport1650880498549.png (420.01 KB, 下載次數(shù): 29)

mmexport1650880498549.png
回復

使用道具 舉報

7#
ID:401564 發(fā)表于 2022-4-25 20:34 | 只看該作者
風吹過又見你 發(fā)表于 2022-4-25 17:55
就是圈出來了的那一行代碼

DMA_BufferSize就是指定DMA緩存的大小
就是留下多少個地址來存放ADC結(jié)果的意思
比如說你要保存100組ADC數(shù)據(jù),那這個值就是100
實際上它就是等于(u32)dma1_data_buff這個數(shù)組的總長度,如果是二維數(shù)組,那就是行*列
回復

使用道具 舉報

8#
ID:887155 發(fā)表于 2022-4-26 02:31 來自觸屏版 | 只看該作者
Y_G_G 發(fā)表于 2022-4-25 20:34
DMA_BufferSize就是指定DMA緩存的大小
就是留下多少個地址來存放ADC結(jié)果的意思
比如說你要保存100組ADC ...

也就是說DMA會保存最新100個ADC所測量的數(shù)值嗎?如果有新的一輪數(shù)據(jù)將會覆蓋掉舊的是吧!但硬件觸發(fā)DMA搬運,仍然是ADC轉(zhuǎn)換成功一次就會觸發(fā)一次咯,還是說先保存下100個數(shù)據(jù)再硬件觸發(fā)一次DMA搬運?
回復

使用道具 舉報

9#
ID:401564 發(fā)表于 2022-4-26 10:31 | 只看該作者
風吹過又見你 發(fā)表于 2022-4-26 02:31
也就是說DMA會保存最新100個ADC所測量的數(shù)值嗎?如果有新的一輪數(shù)據(jù)將會覆蓋掉舊的是吧!但硬件觸發(fā)DMA搬 ...

我都說得這么明白,還不理解?"這100個數(shù)據(jù)就一直是最近100次ADC的數(shù)據(jù)"
不是一輪數(shù)據(jù),是每次ADC成功轉(zhuǎn)換之后的一個數(shù)據(jù),"一個數(shù)據(jù)"明白不?
然后,DMA的100個數(shù)據(jù)中,最先保存那個數(shù)據(jù)會被替換成本次ADC的數(shù)據(jù),類似于堆棧溢出或者像數(shù)組溢出一樣的方式,把最先保存的數(shù)據(jù)給擠出去(不要問擠出去的數(shù)據(jù)到哪里了)
回復

使用道具 舉報

10#
ID:123289 發(fā)表于 2022-4-26 16:28 | 只看該作者
查DAM手冊,找到觸發(fā)DAM的方式。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表