在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32的DMA簡介

CHANBAEK ? 來源:頭條號科G棧 ? 作者:頭條號科G棧 ? 2023-03-23 10:10 ? 次閱讀

DMAMCU一個非常重要的部分,它提供了一種直接、高效、快速的方式來傳輸數(shù)據(jù),而不需要CPU的介入,大大提高了MCU的工作效率。

我們先來看一下沒有DMA,數(shù)據(jù)是怎么流動的。

poYBAGQbtPqAD6MIAAFSEzRZLjg412.jpg

如圖所示,紅色線表示外設(shè)數(shù)據(jù)的讀寫,藍色線表示內(nèi)存數(shù)據(jù)的讀寫。數(shù)據(jù)必須要先加載到內(nèi)核,然后再通過內(nèi)核寫入外設(shè)或內(nèi)存,讀寫操作都需要內(nèi)核做很多工作,雖然C代碼可能就一行語句,但是匯編可不止一條。我們知道在程序執(zhí)行的過程中這樣的數(shù)據(jù)傳輸操作非常頻繁,如果都這樣處理,內(nèi)核將花費太多時間在搬運數(shù)據(jù)上,無法集中精力處理更為重要的計算和中斷事件,處理速度和效率就會非常的低。

使用DMA后,數(shù)據(jù)的流動變成了下圖所示方式。

pYYBAGQbtPyAGVjeAAFMVBOrMIk055.jpg

數(shù)據(jù)的傳輸工作由DMA控制器接管,假如我們配置由外設(shè)到內(nèi)存,那么外設(shè)的數(shù)據(jù)一旦準備好,DMA就會自動將數(shù)據(jù)搬運到內(nèi)存,內(nèi)核只需要直接讀取內(nèi)存就可以獲取到最新的外設(shè)數(shù)據(jù)。反過來也是同樣的道理。整個傳輸過程不需要內(nèi)核的參與,如果數(shù)據(jù)量很大,DMA的優(yōu)勢會非常明顯。

內(nèi)核有點像一個工廠,SRAM類似倉庫,DMA就是物流。如果沒有“物流”,這個“工廠”就需要自己進貨、入庫、出庫、發(fā)貨,而如果有了“物流”,“工廠”就不需要進貨和發(fā)貨了,這對“工廠”的生產(chǎn)效率有質(zhì)的提升。

STM32中,DMA控制器有多個通道,每個通道對應(yīng)某幾個外設(shè),使用前需要指定好該通道給哪個外設(shè)使用。

poYBAGQbtP2AJYSqAAG1fDj9AJ4763.jpg

具體使用DMA需要做下面的配置操作:

1、 使能DMA時鐘

2、 配置外設(shè)和內(nèi)存地址

3、 配置傳輸?shù)臄?shù)據(jù)個數(shù)

4、 配置通道的優(yōu)先級

5、 配置數(shù)據(jù)傳輸方向

6、 配置circular模式或normal模式

7、 配置外設(shè)/內(nèi)存incremented模式

8、 配置外設(shè)/內(nèi)存數(shù)據(jù)位數(shù)

9、 配置中斷,編寫中斷服務(wù)程序

10、使能DMA傳輸

之后內(nèi)核只需要等待DMA中斷的到來即可,然后讀寫內(nèi)存數(shù)據(jù)。DMA有四種中斷標(biāo)志:全局中斷、傳輸完成中斷、半傳輸中斷、傳輸錯誤中斷,清除全局中斷標(biāo)志可以將所有的中斷標(biāo)志位清零。

DMA的外設(shè)和內(nèi)存的數(shù)據(jù)位數(shù)可以不同,不同的位數(shù)傳輸最終的結(jié)果如下表所示:

pYYBAGQbtP6AAi4xAAOZRJWWnyo809.jpg

使用STM32的LL庫的代碼如下:

1、 打開時鐘

poYBAGQbtP-Af8isAAAMUGJTKlA533.jpg

2、 配置地址

pYYBAGQbtQCAbcZQAAAWNjWCxhQ117.jpg

這里ADC是外設(shè)。

3、 數(shù)據(jù)個數(shù)

poYBAGQbtQGASknqAAALoj9pYTY610.jpg

4、 優(yōu)先級

pYYBAGQbtQKAfgTtAAAM0Lg0jf8585.jpg

5、 傳輸方向

poYBAGQbtQOASBd6AAAKavDp5BE266.jpg

6、 Circular模式

pYYBAGQbtQSAJe2XAAAM1ldykzs279.jpg

7、 Incremented模式

poYBAGQbtQWAXAIvAAAV3IViX-w397.jpg

這里外設(shè)只有一個寄存器,所以不需要increment,內(nèi)存是一個數(shù)組,所以要increment。

8、 數(shù)據(jù)位

pYYBAGQbtQWAKEb4AAAWoMx89PE209.jpg

數(shù)據(jù)位可以是8位(BYTE)、16位(HALFWORD)、32位(WORD)

9、 中斷相關(guān)

pYYBAGQbtQeAegXoAABPpET0jbM275.jpg

pYYBAGQbtQeAAyYbAACtyp7hOPE242.jpg

10、 使能DMA

pYYBAGQbtQiAStVQAAAKeB7xgNo875.jpg

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17184

    瀏覽量

    351691
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10880

    瀏覽量

    212210
  • 內(nèi)存
    +關(guān)注

    關(guān)注

    8

    文章

    3037

    瀏覽量

    74147
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10910

    瀏覽量

    356598
  • dma
    dma
    +關(guān)注

    關(guān)注

    3

    文章

    565

    瀏覽量

    100676
收藏 人收藏

    評論

    相關(guān)推薦

    STM32實例教程-DMA實驗

    在前面我們提到過 DMA,這一章我們就來學(xué)習(xí) STM32F1 的DMA 使用。要實現(xiàn)的功能是:通過 K_UP 按鍵控制 DMA 串口 1 數(shù)據(jù)的傳送,在傳送過程中讓 D2 指示燈不斷閃
    發(fā)表于 05-24 09:20 ?1252次閱讀
    <b class='flag-5'>STM32</b>實例教程-<b class='flag-5'>DMA</b>實驗

    DMA簡介

    DMA簡介STM32學(xué)習(xí)心得
    發(fā)表于 04-20 22:14

    ADC與DMA簡介

    文章目錄一、準備工具二、前置知識1.ADC簡介2.DMA簡介2.STM32Cubemx配置1.新建工程2.時鐘源選擇及時鐘樹配置3.時基選擇調(diào)試接口選擇4.配置ADC采集1.選擇要配置
    發(fā)表于 01-19 06:54

    STM32DMA簡介

    1、DMA簡介DMA(Direct Memory Access) :直接存儲器存取,是單片機的一個外設(shè),它的主要功能是用來搬數(shù)據(jù),但是不需要占用 CPU,即在傳輸數(shù)據(jù)的時候, CPU 可以干其他
    發(fā)表于 01-26 08:27

    STM32 DMA應(yīng)用與性能分析

    STM32 DMA應(yīng)用與性能分析 學(xué)習(xí)資料,感興趣的小伙伴們可以瞧一瞧。
    發(fā)表于 09-06 17:33 ?11次下載

    1. stm32 mcu簡介

    1. stm32 mcu簡介 1.1 stm32 mcu結(jié)構(gòu) 1.2 STM32 MCU存儲器映像 1.3 STM32 MCU系統(tǒng)時鐘樹 1
    發(fā)表于 10-25 19:06 ?15次下載
    1. <b class='flag-5'>stm32</b> mcu<b class='flag-5'>簡介</b>

    基于STM32F407的DMA解析-ADC單通道DMA讀取數(shù)據(jù)

    一:什么是DMA?1.DMA簡介DMA,全稱為:Direct Memory Access,即直接存儲器訪問。DMA 傳輸方式無需 CPU
    發(fā)表于 11-25 09:51 ?5次下載
    基于<b class='flag-5'>STM32</b>F407的<b class='flag-5'>DMA</b>解析-ADC單通道<b class='flag-5'>DMA</b>讀取數(shù)據(jù)

    STM32學(xué)習(xí)筆記(7)——DMA直接存儲器訪問

    STM32學(xué)習(xí)筆記(7)——DMA直接存儲器訪問一、DMA簡介二、DMA功能框圖1. DMA請求
    發(fā)表于 12-02 14:06 ?3次下載
    <b class='flag-5'>STM32</b>學(xué)習(xí)筆記(7)——<b class='flag-5'>DMA</b>直接存儲器訪問

    STM32F1開發(fā)指南筆記32----DMA

    本章介紹STM32F1的DMA。在本章中,我們將利用STM32F1的DMA來實現(xiàn)串口數(shù)據(jù)傳送,并在TFTLCD模塊上顯示當(dāng)前的傳送進度。當(dāng)CPU初始化這個傳輸動作,傳輸動作本身是由
    發(fā)表于 12-04 19:21 ?20次下載
    <b class='flag-5'>STM32</b>F1開發(fā)指南筆記32----<b class='flag-5'>DMA</b>

    STM32串口DMA發(fā)送數(shù)據(jù)

    一、DMA簡介二、實驗流程了解了DMA之后,我們做一個實驗:STM32采用串口DMA方式,用115200bps或更高速率向上位機連續(xù)發(fā)送數(shù)據(jù)
    發(fā)表于 12-07 10:36 ?22次下載
    <b class='flag-5'>STM32</b>串口<b class='flag-5'>DMA</b>發(fā)送數(shù)據(jù)

    Stm32DMA直接內(nèi)存讀取(2021-07-30)

    Stm32DMA直接內(nèi)存讀取1.DMA簡介DMA*(Direct Memory Access controller)*:可用于為CPU減
    發(fā)表于 12-09 15:36 ?10次下載
    <b class='flag-5'>Stm32</b>之<b class='flag-5'>DMA</b>直接內(nèi)存讀取(2021-07-30)

    STM32基礎(chǔ)-----DMA

    STM32基礎(chǔ)-------DMA
    發(fā)表于 12-20 19:35 ?11次下載
    <b class='flag-5'>STM32</b>基礎(chǔ)-----<b class='flag-5'>DMA</b>

    STM32之串口DMA接收不定長數(shù)據(jù)

    目錄STM32之串口DMA接收不定長數(shù)據(jù)引言DMA簡介什么是DMASTM32
    發(fā)表于 12-24 19:03 ?30次下載
    <b class='flag-5'>STM32</b>之串口<b class='flag-5'>DMA</b>接收不定長數(shù)據(jù)

    DMA】淺談STM32F4xx的DMA(附初始化代碼)

    又到年末,事情總是格外的多,12月竟然沒有一點產(chǎn)出是不行的,今天就來分析一下DMA的作用【下附DMA映射表,可用于開發(fā)者自查】 簡介 DMA 即 Direct Memory Acces
    發(fā)表于 01-17 09:59 ?2次下載
    【<b class='flag-5'>DMA</b>】淺談<b class='flag-5'>STM32</b>F4xx的<b class='flag-5'>DMA</b>(附初始化代碼)

    STM32F1的DMA使用

    傳送完成。D1 指示燈閃爍提示系統(tǒng)正常運行。學(xué)習(xí)時可以參考《STM32F10x 中文參考手冊》-10 DMA 控制器(DMA)章節(jié)。 DMA 簡介
    的頭像 發(fā)表于 06-22 10:23 ?2903次閱讀
    <b class='flag-5'>STM32</b>F1的<b class='flag-5'>DMA</b>使用
    主站蜘蛛池模板: 在线播放你懂得| 天天插综合| 超级淫小黄文大全很污的那种 | 日本一区二区三区四区视频 | 视频一区 中文字幕| 男女一进一出无遮挡黄| 成人一级网站| 奇米奇米| 午夜免费伦费影视在线观看| 午夜8050| 夜夜福利| 色天天综合网| 爱综合网| 亚洲免费在线观看视频| 一级毛片在线免费视频| 涩涩高清无乱码在线观看| 亚洲五月综合网色九月色| 久久国产精品免费专区| 69日本人xxxx16-18| 老师你好滑下面好湿h | 丁香婷婷综合五月六月| 婷婷丁香啪啪| 色偷偷亚洲天堂| 亚洲色图2| 毛片在线播| 久久夜色tv网站免费影院| 欧美怡红院免费全视频| 黄 色 片成 人免费观看| 亚洲情a成黄在线观看动| 午夜小网站| 高清成年美女xx免费网站黄| 国产亚洲网站| 国产乱子伦| yy6080亚洲半夜理论一级毛片| 另类五月| 亚欧精品一区二区三区| 婷婷国产| 天堂影院在线| 三级在线观看免播放网站| 激情六月色| aaaa欧美高清免费|