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

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傳輸過程中被處理過。

剛好這兩天也就隨機性瞄了下這塊,隱約記得它是有數據處理功能的。【說實話,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
    +關注

    關注

    2290

    文章

    11018

    瀏覽量

    362708
  • dma
    dma
    +關注

    關注

    3

    文章

    574

    瀏覽量

    102416

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

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

收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

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

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

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

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

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

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

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

    STM32U575ZIT如何配置GPDMA+DCMI?

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

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

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

    求助,關于U575RI的GPDMA_LINKED_list模式的疑問求解

    = GPDMA1_REQUEST_DCMI; pNodeConfig.Init.BlkHWRequest = DMA_BREQ_SINGLE_BURST;//DMA傳輸硬件協議,單個傳輸
    發表于 03-07 08:02

    STM32U575串口接收+GPDMA波特率不匹配怎么解決?

    我用CubeMX配置的串口+GPDMA接收,115200波特率正常能用, 然后如果波特率設置錯誤為9600,再改回來115200,接收就不能用了,調試好像時DMA出錯了,然后啟用HAL_UARTEx_ReceiveToIdle_DMA函數依然錯誤,有大神知道怎么解決嗎
    發表于 03-07 07:59

    cubeide的代碼怎么編譯到內部+外部FLASH里面去?

    我有一個項目,準備使用GUI和AI,準備使用STM32U5,但是編譯出來的代碼很多,STM32U5的內部FLASH不夠用,準備使用OSPI擴展外部FLASH。但是遇到一個問題,我不知道怎么將編譯
    發表于 03-07 07:48

    STM32項目實戰:基于STM32U5的智能大棚溫控系統(LVGL),附項目教程/源碼

    《智能大棚溫控系統_STM32U5》項目完整文檔、項目源碼,點擊下方鏈接免費領取。項目資料領取https://s.c1ns.cn/F5XyUSTM32項目實戰之“智能大棚溫控系統
    的頭像 發表于 11-13 17:08 ?1691次閱讀
    <b class='flag-5'>STM32</b>項目實戰:基于<b class='flag-5'>STM32U5</b>的智能大棚溫控系統(LVGL),附項目教程/源碼

    STM32項目實戰:基于STM32U5的火災報警系統(LVGL),附項目教程/源碼

    《火災報警系統_STM32U5》項目完整文檔、項目源碼,點擊下方鏈接免費領取。項目資料領取https://s.c1ns.cn/F5XyUSTM32項目實戰之“火災報警系統”(基于STM32U5)今天
    的頭像 發表于 11-13 14:18 ?1656次閱讀
    <b class='flag-5'>STM32</b>項目實戰:基于<b class='flag-5'>STM32U5</b>的火災報警系統(LVGL),附項目教程/源碼

    STM32項目實戰:基于STM32U5的智能燈光控制系統(LVGL),附項目教程/源碼

    《智能燈光控制系統_STM32U5》項目完整文檔、項目源碼,點擊免費領取。項目資料領取:https://s.c1ns.cn/F5XyUSTM32項目實戰之“智能燈光控制系統”(基于STM32U5
    的頭像 發表于 11-07 18:50 ?2176次閱讀
    <b class='flag-5'>STM32</b>項目實戰:基于<b class='flag-5'>STM32U5</b>的智能燈光控制系統(LVGL),附項目教程/源碼

    X-CUBE-CLASSB以及生態系統為何如此重要

    ???????? X-CUBE-STL目前支持STM32MP1、STM32U5STM32L5STM32H5STM32WL。實
    的頭像 發表于 11-07 14:01 ?732次閱讀

    STM32H5STM32U5在trustzone上有哪些不同?

    我要做空調的空中升級FOTA的方案,需要加密,對于trustzone功能,采用那款芯片比較合適?STM32H5STM32U5在trustzone上有哪些不同?
    發表于 07-05 07:03

    STM32U575串口接收+GPDMA波特率不匹配導致失敗怎么解決?

    我用CubeMX配置的串口+GPDMA接收,115200波特率正常能用, 然后如果波特率設置錯誤為9600,再改回來115200,接收就不能用了,調試好像時DMA出錯了,然后啟用HAL_UARTEx_ReceiveToIdle_DMA函數依然錯誤,有大神知道怎么解決嗎
    發表于 07-04 08:11
    主站蜘蛛池模板: 美女用手扒开尿口给男生桶爽 | 亚洲国产成人久久精品图片 | 亚洲视频在线观看一区 | 神马影视午夜 | 手机看片神马午夜片 | 激情五月五月婷婷 | 老师下面很湿很爽很紧 | 视频亚洲一区 | 日本黄色网址视频 | 中文字幕第一区 | 色之综合天天综合色天天棕色 | 狠狠色丁香婷婷综合最新地址 | 亚洲 另类 在线 欧美 制服 | 激情婷婷网 | 国产精品久久久久久久久免费hd | 高清一区二区三区 | 亚洲啪啪看看 | 伊人精品视频在线 | 麻豆三级在线播放 | 色在线免费视频 | 国产理论 | 日韩一级黄色录像 | 四虎影视在线观看 | 亚色图| 成年大片免费播放视频人 | 亚洲精品中文字幕乱码三区一二 | 又色又爽又黄视频 | 天天噜天天射 | h视频在线看 | 日韩一级精品视频在线观看 | 男男宿舍高h炒肉bl 男男污肉高h坐便器调教 | 欧美精品区 | 天堂成人网 | 美女被视频网站在线看九色 | 日本大片免aaa费观看视频 | 一级一级特黄女人精品毛片 | 国产免费高清视频在线观看不卡 | 国产乱人视频在线看 | 亚洲欧美一区二区三区麻豆 | 久久夜色精品 | 亚洲精品久久久久午夜三 |