吴忠躺衫网络科技有限公司

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

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

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

簡單介紹有關STM32的DMAMUX模塊

單片機 ? 來源:茶話MCU ? 作者:茶話MCU ? 2021-08-14 15:10 ? 次閱讀

目前STM32家族中的很多系列,比如STM32G0/STM32G4/STM32L4+/STM32H7等都內(nèi)置了DMAMUX模塊。有了它一方面使得DMA請求與DMA控制器之間的映射關系更為靈活方便,另一方面也大大拓展了DMA請求事件,不再局限于外設事件,比方基于GPIO的外部中斷事件、或者DMA事件本身來觸發(fā)DMA傳輸。

關于DMAMUX的基本結(jié)構及功能原理,這里就不說了,這里重點介紹基于STM32G4芯片,使用GPIO的外部中斷事件觸發(fā)DMA傳輸,通過DMA將內(nèi)存數(shù)據(jù)傳輸?shù)紾PIO端口的實現(xiàn)過程,包括基于CubeMx的配置、關鍵代碼及注意點。

本演示例程基于STM32G4系列的Nucleo板進行,按鍵【PC.13】用來觸發(fā)中斷,該中斷事件被配置DMA請求源。板上有個LED燈與PA.5相連。例程中通過DMA傳輸來修改GPIOA輸出寄存器的內(nèi)容來改變亮燈情況。

要完成的任務很簡單,按鍵產(chǎn)生外部中斷事件,外部中斷事件與DMAMUX的DMA請求生成器相連,進而產(chǎn)生DMA請求,最后觸發(fā)相應的DMA控制器完成數(shù)據(jù)傳輸。下面就直接進入配置過程。

先通過CubeMx神器做基本的初始化配置【RCC配置就省略不提了】。

注意別忘了使能PC13腳所對應的NVIC控制器配置,即下圖所示配置。

798284d0-fc1f-11eb-9bcf-12bb97331649.png

然后,對DMA進行配置。配置也比較簡單,見下圖。注意DMA請求源并非常規(guī)的外設事件,而是DMA請求發(fā)生器相關通道,關于它的配置在圖中下方的藍色方框那里。

79a7bcd2-fc1f-11eb-9bcf-12bb97331649.png

EXTI13事件作為DMAMUX的輸入請求信號,每次中斷事件產(chǎn)生一個DMA請求,請求信號與DMA1的Channel1相連。為了便于演示,我這里將DMA傳輸配置成了循環(huán)模式。

基于上面配置生成初始化代碼,然后添加用戶代碼。基于HAL庫的關鍵用戶參考代碼如下:

DMA_HandleTypeDef hdma_dma_generator0;

uint16_t DataSource[]={0x5555,0xaaaa,0x5a5a,0xa5a5};

int main(void)

{

HAL_Init();

SystemClock_Config();

MX_GPIO_Init();

MX_DMA_Init();

/* USER CODE BEGIN 2 */

HAL_DMAEx_EnableMuxRequestGenerator(&hdma_dma_generator0);

HAL_DMA_Start(&hdma_dma_generator0 , (uint32_t)&DataSource,

(uint32_t)&(GPIOA-》ODR),4 );

/* USER CODE END 2 */

while (1)

{

}

}

順便提醒下,上面紅色代碼行可能是有些人容易忽視的地方,至少目前庫版本需要手動添加這句。

最后,簡單驗證下。看看按鍵時是否發(fā)生GPIOA輸出的數(shù)據(jù)變化及燈亮暗。

驗證過程是沒啥問題的,跟預期效果一致。這里特意分享整個實現(xiàn)過程以供有需要的工程師參考。有關STM32的DMAMUX模塊的簡單介紹可以閱讀下面的文章《《STM32芯片中的DMAMUX是干啥用的》》。OK,下次再聊。

編輯:jq

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

    關注

    3

    文章

    566

    瀏覽量

    100953
  • 代碼
    +關注

    關注

    30

    文章

    4825

    瀏覽量

    69038
  • HAL
    HAL
    +關注

    關注

    2

    文章

    71

    瀏覽量

    12673

原文標題:通過STM32外部中斷觸發(fā)DMA傳輸

文章出處:【微信號:aidanpianji,微信公眾號:單片機】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    SiC MOSFET分立器件及工業(yè)模塊介紹

    BASiC國產(chǎn)SiC碳化硅MOSFET分立器件及碳化硅功率SiC模塊介紹
    發(fā)表于 01-16 14:32 ?0次下載

    STM32CubeMX的菜單介紹

    相信初學者打開STM32CubeMX一定是一臉懵逼,里面都是全英文的,不知道從何入手。這里先給大家簡單講解一下。在新建工程這一欄里,我們最常用的是第一個,它會彈出一個芯片列表供你選擇,然后就會創(chuàng)建一
    的頭像 發(fā)表于 12-25 21:03 ?177次閱讀
    <b class='flag-5'>STM32</b>CubeMX的菜單<b class='flag-5'>介紹</b>

    stm32藍牙模塊連接方法

    隨著物聯(lián)網(wǎng)技術的快速發(fā)展,藍牙技術因其低功耗、低成本和易用性而成為連接設備的首選無線通信技術之一。STM32系列微控制器因其高性能和豐富的外設接口而被廣泛應用于嵌入式系統(tǒng)設計中。 硬件連接 1.
    的頭像 發(fā)表于 11-19 15:49 ?838次閱讀

    STM32單片機的特點介紹

    STM32系列單片機是由ST廠商推出的單片機,基于專為高性能、低成本、低功耗嵌入式應用設計的ARM Cortex-M內(nèi)核,具備一流的外設配置,使其在功耗和集成度方面表現(xiàn)出色,STM32以其簡單的結(jié)構
    的頭像 發(fā)表于 09-25 17:19 ?2061次閱讀

    stm32單片機引腳介紹及功能

    特點,廣泛應用于工業(yè)控制、消費電子、醫(yī)療設備、智能家居等領域。本文將介紹STM32單片機的引腳及其功能。 1. 引腳概述 STM32單片機的引腳數(shù)量和類型因型號而異,常見的有48引腳、64引腳、100
    的頭像 發(fā)表于 09-02 09:38 ?6914次閱讀

    keras的模塊結(jié)構介紹

    Keras是一個高級深度學習庫,它提供了一個易于使用的接口來構建和訓練深度學習模型。Keras是基于TensorFlow、Theano或CNTK等底層計算庫構建的。以下是Keras的模塊結(jié)構的介紹
    的頭像 發(fā)表于 07-05 09:35 ?421次閱讀

    SOC模塊LoRa-STM32WLE5有哪些值得關注

    思為無線最新推出的SOC模塊lora-STM32WLE5采用了ST公司的STM32WLE5芯片作為主芯片集成了LoRa、(G)FSK、(G)MSK和BPSK調(diào)制。該SOC模塊搭載了高性
    的頭像 發(fā)表于 06-27 17:39 ?877次閱讀
    SOC<b class='flag-5'>模塊</b>LoRa-<b class='flag-5'>STM32</b>WLE5有哪些值得關注

    請問STM32L4R5ZI的DMA/DMAMUX是怎么管理請求?

    原來的STM32系列,比如F1,是沒有DMAMUX這個東西的,DMA1的1通道2通道具體對應什么樣的請求,有一個專門的對應表。但是現(xiàn)在的DMAMUX加進來以后,對于89個外設請求,并沒有地方說明什么請求對應哪一個通道。求助如何確
    發(fā)表于 04-28 06:19

    STM32L4R5的DMAMUX異常原因?

    __HAL_RCC_DMA1_CLK_ENABLE(); __HAL_RCC_DMAMUX1_CLK_ENABLE(); /*##-3- Configure the DMA
    發(fā)表于 04-19 06:36

    步進電機的簡單介紹

    步進電機的命名,參數(shù),轉(zhuǎn)速簡單介紹
    的頭像 發(fā)表于 04-17 21:40 ?1272次閱讀

    PCB星形接地的簡單介紹

    從概念上講,星形接地涉及到構建一個電氣系統(tǒng),系統(tǒng)中所有模塊或者設備都在一點接地。 最簡單的方法是使用電源,其中負極端子(正極端子)被分支到不同的模塊中,將她們并聯(lián)在電路中。
    發(fā)表于 04-06 05:19 ?1542次閱讀
    PCB星形接地的<b class='flag-5'>簡單</b><b class='flag-5'>介紹</b>

    STM32G070的DMA功能,如何實現(xiàn)外部中斷觸發(fā)DMA傳輸數(shù)據(jù)到IO口上?

    ); HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn); /*##-3- Configure and enable the DMAMUX Request
    發(fā)表于 04-01 08:24

    藍牙雙模音頻模塊支持串口AT指令控制介紹

    藍牙音頻模塊支持串口AT指令控制介紹,這里推薦BT401藍牙模塊,功能簡介如下: BT401模塊是一款支持藍牙、U盤、TF卡播放的5合1的解決方案。模組的亮點在支持無損音樂的播放,以
    的頭像 發(fā)表于 03-28 11:27 ?816次閱讀
    藍牙雙模音頻<b class='flag-5'>模塊</b>支持串口AT指令控制<b class='flag-5'>介紹</b>

    DC電源模塊的分類及特點介紹

    BOSHIDA DC電源模塊的分類及特點介紹 DC電源模塊是一種將交流電轉(zhuǎn)換為直流電的設備,廣泛應用于各種電子設備中。根據(jù)其特點和功能,DC電源模塊可以分為線性穩(wěn)壓
    的頭像 發(fā)表于 03-26 13:54 ?713次閱讀
    DC電源<b class='flag-5'>模塊</b>的分類及特點<b class='flag-5'>介紹</b>

    關于STM32 DMAMUX模塊具體的應用示例代碼

    有人通過公眾號微信留言,詢問是否有關STM32 DMAMUX模塊具體的應用示例代碼。同時,個人也發(fā)現(xiàn),雖然STM32片內(nèi)的
    的頭像 發(fā)表于 03-25 09:15 ?2568次閱讀
    關于<b class='flag-5'>STM32</b> <b class='flag-5'>DMAMUX</b><b class='flag-5'>模塊</b>具體的應用示例代碼
    明珠百家乐官网的玩法技巧和规则 | 商洛市| 百家乐官网珠仔路| 百家乐官网免费改| 赙彩百家乐游戏规则| 鑫鼎百家乐娱乐城| 顶级赌场手机版官方下载| 仲巴县| 百家乐官网和抽水官网| 怎样玩百家乐官网的玩法技巧和规则 | 大发888 代充| 网上百家乐有哪些玩法| 奇博娱乐| 百家乐官网真钱斗地主| 金公主百家乐现金网| 狮威百家乐赌场娱乐网规则| 澳门百家乐官方网站| 百家乐官网返水1.2不限| 百家乐现金网平台排行| 网络赌博| 百家乐官网平注法到656| 永利高投注网哪个好| KK百家乐官网的玩法技巧和规则 | 百家乐官网如何看牌| 百家乐投注组合| 网络百家乐最安全| 鸿利国际| 加州百家乐官网的玩法技巧和规则 | 澳门百家乐官网心| 旅百家乐赢钱律| 百家乐官网博乐城| 曼哈顿百家乐娱乐城| 百家乐官网视频游戏网站| 神人百家乐赌场| 萨迦县| 百家乐棋牌交友| 皇冠网小说网址| 在线玩百家乐的玩法技巧和规则| 百家乐官网双筹码怎么出千| 疯狂水果机怎么玩| 职业百家乐官网的玩法技巧和规则|