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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索

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

查看數: 2502 | 評論數: 9 | 收藏 0
關燈 | 提示:支持鍵盤翻頁<-左 右->
    組圖打開中,請稍候......
發布時間: 2022-4-25 14:42

正文摘要:

各位大佬請指教一下:STM32F103C8T6 我使用DMA來搬運ADC讀取到的數據,想使用硬件觸發DMA搬運。那ADC是在滿足那個條件下觸發DMA搬運的呢?在DMA搬運前ADC讀取到的數據又存放在哪里呢?能存多少數據呢?在DMA初始化 ...

回復

ID:123289 發表于 2022-4-26 16:28
查DAM手冊,找到觸發DAM的方式。
ID:401564 發表于 2022-4-26 10:31
風吹過又見你 發表于 2022-4-26 02:31
也就是說DMA會保存最新100個ADC所測量的數值嗎?如果有新的一輪數據將會覆蓋掉舊的是吧!但硬件觸發DMA搬 ...

我都說得這么明白,還不理解?"這100個數據就一直是最近100次ADC的數據"
不是一輪數據,是每次ADC成功轉換之后的一個數據,"一個數據"明白不?
然后,DMA的100個數據中,最先保存那個數據會被替換成本次ADC的數據,類似于堆棧溢出或者像數組溢出一樣的方式,把最先保存的數據給擠出去(不要問擠出去的數據到哪里了)
ID:887155 發表于 2022-4-26 02:31
Y_G_G 發表于 2022-4-25 20:34
DMA_BufferSize就是指定DMA緩存的大小
就是留下多少個地址來存放ADC結果的意思
比如說你要保存100組ADC ...

也就是說DMA會保存最新100個ADC所測量的數值嗎?如果有新的一輪數據將會覆蓋掉舊的是吧!但硬件觸發DMA搬運,仍然是ADC轉換成功一次就會觸發一次咯,還是說先保存下100個數據再硬件觸發一次DMA搬運?
ID:401564 發表于 2022-4-25 20:34
風吹過又見你 發表于 2022-4-25 17:55
就是圈出來了的那一行代碼

DMA_BufferSize就是指定DMA緩存的大小
就是留下多少個地址來存放ADC結果的意思
比如說你要保存100組ADC數據,那這個值就是100
實際上它就是等于(u32)dma1_data_buff這個數組的總長度,如果是二維數組,那就是行*列
ID:401564 發表于 2022-4-25 17:31
風吹過又見你 發表于 2022-4-25 15:45
是不是說DMA在循環模式下,ADC轉換成功一次就會觸發DMA搬運一次數據。在DMA搬運數據中,有一個數據大小,這 ...

是的是的,每次ADC成功轉換一次就搬運一次
但并不是每次搬運100個,只是把ADC的數據(就是12位ADC結果)搬運到DMA初始化時所指定的地址而已
但你說的"數據大小"不知道指的是什么,代碼上傳一下
可能是教材不一樣吧,我這本書里只有數據位寬和存儲長度,沒有大小這一說
ID:887155 發表于 2022-4-25 15:45
是不是說DMA在循環模式下,ADC轉換成功一次就會觸發DMA搬運一次數據。在DMA搬運數據中,有一個數據大小,這個參數是干嘛的呢?是指每次搬運這么多個數據嗎?
ID:887155 發表于 2022-4-25 15:42
感謝解答!
ID:401564 發表于 2022-4-25 15:37
ADC工作在DMA的模式下又不占用運行,干嘛要硬件觸發呢?
如果不是要降低功耗,ADC可以一直進行,MDA工作在循環模式下,就一直在保存著一定長度的數據,你用的時候,只要讀取就可以了
在DMA模式下,每次ADC轉換完成,DMA就搬運一次數據,并不是要等到100次ADC之后才搬運的
如果是你設定了100個數據,而且,ADC已經進行超過了100次,那么,這100個數據就一直是最近100次ADC的數據

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

Powered by 單片機教程網

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