找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

DMA配置和使用如此簡單(超詳細)

[復制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:736383 發(fā)表于 2020-4-26 19:27 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
DMA學習很難嗎?其實DMA配置和使用如此簡單!本文讓你無論在DMA認識和理解上(抽象不抽象都有)還是在DMA配置和使用上有個徹徹底底的認識。文章包括寄存器和庫函數(shù)講解,省去你自行翻閱使用手冊和固件庫手冊,點到點教會你DMA的配置和使用。查詢和中斷不爽嗎?為什么要使用串口DMA?(借串口DMA引入)

如果真的是剛剛接觸單片機或嵌入式,肯定會問,因為按照難易程度:DMA>中斷>查詢。這里我提幾個反問句回答。

  • 查詢方式是不是要在一個循環(huán)里反復執(zhí)行判斷?如果串口傳輸數(shù)據(jù)頻率快于循環(huán)頻率,請問能及時收到數(shù)據(jù)嗎?
  • 中斷過于頻繁主程序還要不要運行?如果我只接收數(shù)據(jù),但不用接收一個字節(jié)數(shù)據(jù)就處理一次,那么請問,有必要頻繁中斷嗎?
  • 數(shù)據(jù)傳輸過程需不需要時間?需要的話,那我們是不是還要等待?

其實我們要求的很簡單,就是高效,傳輸數(shù)據(jù)的時候我們不在等待的時間浪費CPU資源,而且數(shù)據(jù)是一個字節(jié)一個字節(jié)傳送的,接收的時候只要一個數(shù)據(jù)包最后一個字節(jié)數(shù)據(jù)接收到再處理即可,發(fā)送的時候讓串口自己一個字節(jié)一個字節(jié)把數(shù)據(jù)發(fā)出去即可,不用在等待一個字節(jié)發(fā)送完再發(fā)下一字節(jié)數(shù)據(jù)這樣。為了提高CPU使用效率,于是就使用DMA方式。


想學習DMA的可以轉(zhuǎn)到我CSDN的博文查看,為了保持美觀,所以文章寫到博客上了,相關內(nèi)容請查看:

CSDN博客:https://blog.csdn.net/weixin_44524484/article/details/105671273


以下為文章目錄:

DMA配置和使用如此簡單(超詳細)

  • DMA傳輸
    • 一、查詢和中斷不爽嗎?為什么要使用串口DMA?(借串口DMA引入)
    • 二、DMA介紹
      • 1、什么是DMA?
      • 2、STM32上的DMA資源
      • 3、DMA主要特征
      • 4、DMA請求映像
        • (1)DMA1控制器
        • (1)DMA2控制器
      • 5、DMA寄存器介紹
        • (1)DMA中斷狀態(tài)寄存器(DMA_ISR)
        • (2)DMA中斷標志清除寄存器(DMA_IFCR)
        • (3)DMA通道x配置寄存器(DMA_CCRx)(x = 1…7)
        • (4)DMA通道x傳輸數(shù)量寄存器(DMA_CNDTRx)(x = 1…7)
        • (5)DMA通道x外設地址寄存器(DMA_CPARx)(x = 1…7)
        • (6)DMA通道x存儲器地址寄存器(DMA_CMARx)(x = 1…7)
      • 6、DMA庫函數(shù)介紹
        • (1)函數(shù) DMA_DeInit
        • (2)函數(shù)DMA_Init
        • (3)函數(shù)DMA_Cmd
        • (4)函數(shù) DMA_ITConfig

    • 三、DMA配置
      • 1、寄存器版
      • 2、庫函數(shù)版
    • 四、DMA使用
      • 1、查詢方式
      • 2、中斷方式
      • 3、不定長數(shù)據(jù)傳輸
      • 4、雙緩沖方式
    • 五、總結(jié)



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

使用道具 舉報

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

本版積分規(guī)則

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

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

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