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

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

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

3天內不再提示

簡單介紹有關STM32的DMAMUX模塊

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

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

關于DMAMUX的基本結構及功能原理,這里就不說了,這里重點介紹基于STM32G4芯片,使用GPIO的外部中斷事件觸發DMA傳輸,通過DMA將內存數據傳輸到GPIO端口的實現過程,包括基于CubeMx的配置、關鍵代碼及注意點。

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

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

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

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

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

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

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

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

基于上面配置生成初始化代碼,然后添加用戶代碼。基于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)

{

}

}

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

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

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

編輯:jq

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

    關注

    3

    文章

    561

    瀏覽量

    100586
  • 代碼
    +關注

    關注

    30

    文章

    4788

    瀏覽量

    68612
  • HAL
    HAL
    +關注

    關注

    2

    文章

    70

    瀏覽量

    12617

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

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

收藏 人收藏

    評論

    相關推薦

    STM32CubeMX的菜單介紹

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

    stm32藍牙模塊連接方法

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

    STM32單片機的特點介紹

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

    keras的模塊結構介紹

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

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

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

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

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

    STM32L4R5的DMAMUX異常原因?

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

    步進電機的簡單介紹

    步進電機的命名,參數,轉速簡單介紹
    的頭像 發表于 04-17 21:40 ?1050次閱讀

    PCB星形接地的簡單介紹

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

    STM32G070的DMA功能,如何實現外部中斷觸發DMA傳輸數據到IO口上?

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

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

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

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

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

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

    有人通過公眾號微信留言,詢問是否有關STM32 DMAMUX模塊具體的應用示例代碼。同時,個人也發現,雖然STM32片內的
    的頭像 發表于 03-25 09:15 ?2437次閱讀
    關于<b class='flag-5'>STM32</b> <b class='flag-5'>DMAMUX</b><b class='flag-5'>模塊</b>具體的應用示例代碼

    stm32最高工作頻率是多少

    STM32是一款基于ARM Cortex-M內核的高性能微控制器,由STMicroelectronics公司生產。它具有豐富的外設和功能,廣泛應用于各種嵌入式系統開發。本文將介紹STM32的最高
    的頭像 發表于 01-03 15:54 ?4270次閱讀

    stm32ad采樣測電壓范圍

    的電壓的范圍。在本文中,我們將詳細介紹STM32AD采樣測電壓范圍及其相關的知識。 一、STM32AD轉換模塊簡介: STM32系列微控制器
    的頭像 發表于 12-29 10:35 ?4131次閱讀
    主站蜘蛛池模板: 狠色网| 午夜在线免费观看视频| 亚洲免费福利视频| 1024手机免费看| 亚洲午夜影视| 成年女人免费看一级人体片| 中文字幕在线视频第一页| 日本免费色| 污夜影院| 五月欧美| 四虎日韩| 亚洲免费mv| 亚洲一区二区影视| 色播视频在线观看免费| 亚洲在线a| 日本不卡视频| 老头天天吃我奶躁我的动图| 国产精品热久久毛片| 午夜精品在线| 日本一区不卡视频| 美女免费观看一区二区三区| 欧美超级碰碰| 有一婷婷色| 丁香六月色婷婷| 欧美性精品| 人人插人人费| 成年人色网站| 在线二区| 久久福利青草精品资源| 特黄特色大片免费视频大全| 美女把尿口扒开让男人桶出水 | 欧美黑人性xxx猛交| 色视频在线看| 日日干夜夜爽| 亚洲成色在线综合网站| 亚洲午夜精品久久久久久成年 | 色综合天天综合网亚洲影院| 中文字幕在线观看第一页| 丁香婷婷成人| 欧美经典三级春潮烂漫海棠红| 狠狠插综合网|