国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

使用STM32U5系列的GPDMA的burst傳輸功能

茶話MCU ? 來源:茶話MCU ? 作者:茶話MCU ? 2022-07-31 13:24 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

有人想使用STM32U5系列的GPDMA的burst【分組、節拍、突發】傳輸功能,似乎遇到了點阻礙。我這里嘗試下,稍作演示,僅供參考。

我用TIMER1更新事件觸發DMA, DMA工作在非循環模式,DMA將數據從源內存區傳輸到目的內存區。我先準備下面兩個數組。

7f73f59e-0fe3-11ed-ba43-dac502259ad0.png

7f85bcac-0fe3-11ed-ba43-dac502259ad0.png

當兩端訪問數據寬度設置一樣,burst大小始終為1時,傳輸是很順暢的,不會有啥問題,結果符合預期。

7fa470c0-0fe3-11ed-ba43-dac502259ad0.png

基于上面配置,結果就很正常。結果如下圖,也正是我期望的結果。

7fd4fda8-0fe3-11ed-ba43-dac502259ad0.png

當我們嘗試使用DMAburst功能時,發現結果就不對勁了,比方我希望源端按字節讀取,然后基于BURST功能打包,目的端按半字來提取,發現結果跟預期不一樣。我們一起看看:

7fe5daf6-0fe3-11ed-ba43-dac502259ad0.png

顯然,每半個字的高字節都是填充的0。那是怎么回事呢?

我們再看看源端按字節讀取,然后基于BURST功能打包,目的端按字來提取,看看結果又會怎么樣?

80037c3c-0fe3-11ed-ba43-dac502259ad0.png

結果變成了上面的那個樣子,顯然結果嚴重不符合預期。

那是怎么回事呢? 經過反復修改參數,結合我之前之前玩過F4系列DMA burst傳輸功能以及對STM32 DMA burst功能的理解,感覺這里的BUSRT傳輸應該是工作了。對DMA burst的基本配置以及我的用戶實現代碼還是比較自信的。而且目前結果上來看,有數據傳輸,且數據結果是有規律的,數據并不混亂,程序也沒跑飛,就是感覺數據好像在DMABURST傳輸過程中被處理過。

剛好這兩天也就隨機性瞄了下這塊,隱約記得它是有數據處理功能的?!菊f實話,U5系列DMA好復雜,比其它M4核STM32的DMA復雜很多。要沉下心來細看真不易!!】

想到這里,不禁自我懷疑。難道配置哪里還有問題,沒做到位?

繼續查看CubeMx界面下有關GPDMA的配置,嗯?我看到了一直被我無視的一個地方:

80219b4a-0fe3-11ed-ba43-dac502259ad0.png

難道問題是在這里?此處有乾坤?

。。。。。。其實,問題真的就在這里。

當我將那個DataHandling 配置由Disable轉為Enable基本恍然大悟了。

我們回過頭去查看手冊,手冊里面對GPDMA的數據處理功能也做了描述。下圖是相關描述里的一個表格截圖。

8032c1cc-0fe3-11ed-ba43-dac502259ad0.png

關于GPDMA的數據處理功能,這里就不解讀了,需要時我們可以自行研讀手冊。對STM32U5的DMA功能,我只能說:哇塞!功能真強大!

我們還是繼續回到上面的測試。當我使能Datahandling功能,并選中滿足我當前需求的一個選項后,一切便撥云見日。

8053b030-0fe3-11ed-ba43-dac502259ad0.png

注意上面截圖中那個關于數據對齊的選項。意思還是比較簡單明了,當源數據寬度小于目的端數據寬度時,按照目的端數據寬度打包擺放。

當我在前面BURST配置的前提下,再加上這個Data Handling配置就能輸出符合預期的結果了。

換句話說,我前面的DMA Burst基本配置是沒有問題的,只是沒有選擇合適的Data Handling方式導致沒有呈現我們預期的效果,這也正是它跟其它系列不一樣的地方。

這里涉及的用戶代碼很簡單,也干脆貼過來,供有需要的參考【初始化配置使用CubeMx】:

80687a88-0fe3-11ed-ba43-dac502259ad0.png

最后順便提醒一點,上面那個DMA啟動函數里的size變量【箭頭所指的地方】,是按照字節數來算的,這點要注意,這也是跟其它系列不一樣的地方。

審核編輯 :李倩

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

    關注

    2309

    文章

    11162

    瀏覽量

    373474
  • dma
    dma
    +關注

    關注

    3

    文章

    582

    瀏覽量

    105933

原文標題:基于STM32U5片內GPDMA Burst傳輸應用示例

文章出處:【微信號:stmcu832,微信公眾號:茶話MCU】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    LAT1189+Timer 結合 DMA 2D 通道實現不同波形輸出應用筆記

    TIM 來定時切換輸出正弦波或固定電平。使用 TIM 輸出 PWM 產生正弦波形時,需要結合 GPDMA 來實現。在 STM32U5 系列中,GPDMA 共有 16 個獨立通道,其中
    發表于 01-11 17:25 ?0次下載

    【課程升級】STM32U5開發板《TouchGFX 圖形界面開發》,從快速入門到深度UI實戰教程

    好消息,華清遠見STM32U5開發板配套課程升級通知!本次升級計劃,主要致力于為初學者提供更深入、更實用的TouchGFX圖形界面開發學習體驗。01課程升級核心內容快速入門,構建完整學習路徑
    的頭像 發表于 11-04 11:05 ?458次閱讀
    【課程升級】<b class='flag-5'>STM32U5</b>開發板《TouchGFX 圖形界面開發》,從快速入門到深度UI實戰教程

    STM32U5A9J-DK探索套件技術解析與應用指南

    STM32U5A9J-DK采用ARM? Cortex??M33內核(帶有Arm TrustZone?)構建。該套件設計用于利用超低功耗導向特性、2.5MB嵌入式SRAM和4MB嵌入式閃存的強大功能
    的頭像 發表于 10-25 16:49 ?1698次閱讀
    <b class='flag-5'>STM32U5</b>A9J-DK探索套件技術解析與應用指南

    立即在GitHub上搶先體驗面向STM32U5的最新STM32Cube HAL更新

    其滿足您的需求。 如何獲取預覽版本 面向STM32U5系列STM32Cube HAL2預覽版已在GitHub代碼庫STM32CubeU5-V2-Preview中開放。 更新后的HAL
    的頭像 發表于 10-20 17:12 ?896次閱讀

    請問GPDMA和DMA的區別是什么?

    最近看到最新的芯片里面用到的DMA模塊寫的是GPDMA,好像通道多了不少,這只是最直觀的,還有哪些區別?看著還必須到GPDMA模塊去配置,不能在其他模塊直接配置了
    發表于 07-22 07:19

    請問STM32U5不支持ST-LINK v2怎么辦?

    STM32U5不支持ST-LINK v2怎么辦?
    發表于 06-09 07:59

    STM32U3 IIC通信后,SPI+GPDMA 進入循環發送,DMA無法使能寄存器USEF=1怎么解決?

    )); 現象:當data1=0x00 時,SPI+GPDMA正常發送,當data1不等于0x00 時比如0x01等,GPDMA并不能使能。把IIC代碼注釋了,能夠正常發送SPI+GPMDA。IIC確實是能通信的。
    發表于 06-09 07:05

    請問STM32U3系列的定位是怎樣的?

    領先的每毫瓦 Coremark分數117。這幾乎是意法半導體之前 STM32U5系列效率的兩倍,是STM32L4系列的五倍。
    發表于 04-25 07:05

    STM32U5 IWDG的提前喚醒中斷無法在STOP模式下觸發怎么解決?

    我使用的是STM32U585系列芯片,開啟了IWDG,并在運行模式下測試提前喚醒中斷正常觸發,但在進入STOP2模式后,提前喚醒中斷無法觸發導致無法喂狗,看門狗超時后芯片復位。 手冊中寫道IWDG
    發表于 04-24 07:50

    請問STM32U3系列的定位是怎樣的?

    領先的每毫瓦 Coremark分數117。這幾乎是意法半導體之前 STM32U5系列效率的兩倍,是STM32L4系列的五倍。
    發表于 04-23 06:45

    STM32U5 IWDG的提前喚醒中斷無法在STOP模式下觸發怎么解決?

    我使用的是STM32U585系列芯片,開啟了IWDG,并在運行模式下測試提前喚醒中斷正常觸發,但在進入STOP2模式后,提前喚醒中斷無法觸發導致無法喂狗,看門狗超時后芯片復位。 手冊中寫道IWDG
    發表于 04-22 08:14

    STM32U5?(超低功耗MCU,支持TinyML)全面解析

    精度。消費類設備語音助手 :利用低功耗麥克風陣列與關鍵詞識別模型(如“播放音樂”),實現離線語音交互。安全支付 :在POS終端中集成STM32U5的安全功能,保護交易數據,同時支持AI反欺詐模型本地化
    的頭像 發表于 04-08 17:38 ?3898次閱讀
    <b class='flag-5'>STM32U5</b>?(超低功耗MCU,支持TinyML)全面解析

    為什么無法設置DMA傳輸大小?

    ; LPC_GPDMA-> CH[7].CONTROL =(32)//傳輸大小 | (0x0 << 12)// src突發大小 | (0x0 << 15
    發表于 03-17 07:08

    STM32U575ZIT如何配置GPDMA+DCMI?

    配置完GPDMA后會報這個錯誤 然后就是GPDMA文件里這有這些
    發表于 03-12 07:13

    STM32的H5/U5系列處理器內置運放支持負壓運算嗎?

    STM32的H5/U5系列處理器內置運放支持負壓運算嗎?比如輸入-1V,放大倍數為2時輸出-2V
    發表于 03-11 07:53