哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

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

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

掃碼添加小助手

加入工程師交流群

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

我用TIMER1更新事件觸發(fā)DMA, DMA工作在非循環(huán)模式,DMA將數(shù)據(jù)從源內(nèi)存區(qū)傳輸?shù)侥康膬?nèi)存區(qū)。我先準(zhǔn)備下面兩個(gè)數(shù)組。

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

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

當(dāng)兩端訪問數(shù)據(jù)寬度設(shè)置一樣,burst大小始終為1時(shí),傳輸是很順暢的,不會(huì)有啥問題,結(jié)果符合預(yù)期。

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

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

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

當(dāng)我們嘗試使用DMAburst功能時(shí),發(fā)現(xiàn)結(jié)果就不對(duì)勁了,比方我希望源端按字節(jié)讀取,然后基于BURST功能打包,目的端按半字來提取,發(fā)現(xiàn)結(jié)果跟預(yù)期不一樣。我們一起看看:

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

顯然,每半個(gè)字的高字節(jié)都是填充的0。那是怎么回事呢?

我們?cè)倏纯丛炊税醋止?jié)讀取,然后基于BURST功能打包,目的端按字來提取,看看結(jié)果又會(huì)怎么樣?

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

結(jié)果變成了上面的那個(gè)樣子,顯然結(jié)果嚴(yán)重不符合預(yù)期。

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

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

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

繼續(xù)查看CubeMx界面下有關(guān)GPDMA的配置,嗯?我看到了一直被我無視的一個(gè)地方:

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

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

。。。。。。其實(shí),問題真的就在這里。

當(dāng)我將那個(gè)DataHandling 配置由Disable轉(zhuǎn)為Enable基本恍然大悟了。

我們回過頭去查看手冊(cè),手冊(cè)里面對(duì)GPDMA的數(shù)據(jù)處理功能也做了描述。下圖是相關(guān)描述里的一個(gè)表格截圖。

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

關(guān)于GPDMA的數(shù)據(jù)處理功能,這里就不解讀了,需要時(shí)我們可以自行研讀手冊(cè)。對(duì)STM32U5的DMA功能,我只能說:哇塞!功能真強(qiáng)大!

我們還是繼續(xù)回到上面的測(cè)試。當(dāng)我使能Datahandling功能,并選中滿足我當(dāng)前需求的一個(gè)選項(xiàng)后,一切便撥云見日。

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

注意上面截圖中那個(gè)關(guān)于數(shù)據(jù)對(duì)齊的選項(xiàng)。意思還是比較簡(jiǎn)單明了,當(dāng)源數(shù)據(jù)寬度小于目的端數(shù)據(jù)寬度時(shí),按照目的端數(shù)據(jù)寬度打包擺放。

當(dāng)我在前面BURST配置的前提下,再加上這個(gè)Data Handling配置就能輸出符合預(yù)期的結(jié)果了。

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

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

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

最后順便提醒一點(diǎn),上面那個(gè)DMA啟動(dòng)函數(shù)里的size變量【箭頭所指的地方】,是按照字節(jié)數(shù)來算的,這點(diǎn)要注意,這也是跟其它系列不一樣的地方。

審核編輯 :李倩

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

    關(guān)注

    2312

    文章

    11189

    瀏覽量

    374554
  • dma
    dma
    +關(guān)注

    關(guān)注

    3

    文章

    582

    瀏覽量

    106252

原文標(biāo)題:基于STM32U5片內(nèi)GPDMA Burst傳輸應(yīng)用示例

文章出處:【微信號(hào):stmcu832,微信公眾號(hào):茶話MCU】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    LAT1189+Timer 結(jié)合 DMA 2D 通道實(shí)現(xiàn)不同波形輸出應(yīng)用筆記

    TIM 來定時(shí)切換輸出正弦波或固定電平。使用 TIM 輸出 PWM 產(chǎn)生正弦波形時(shí),需要結(jié)合 GPDMA 來實(shí)現(xiàn)。在 STM32U5 系列中,GPDMA 共有 16 個(gè)獨(dú)立通道,其中
    發(fā)表于 01-11 17:25 ?0次下載

    【課程升級(jí)】STM32U5開發(fā)板《TouchGFX 圖形界面開發(fā)》,從快速入門到深度UI實(shí)戰(zhàn)教程

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

    STM32U5A9J-DK探索套件技術(shù)解析與應(yīng)用指南

    STM32U5A9J-DK采用ARM? Cortex??M33內(nèi)核(帶有Arm TrustZone?)構(gòu)建。該套件設(shè)計(jì)用于利用超低功耗導(dǎo)向特性、2.5MB嵌入式SRAM和4MB嵌入式閃存的強(qiáng)大功能
    的頭像 發(fā)表于 10-25 16:49 ?2143次閱讀
    <b class='flag-5'>STM32U5</b>A9J-DK探索套件技術(shù)解析與應(yīng)用指南

    立即在GitHub上搶先體驗(yàn)面向STM32U5的最新STM32Cube HAL更新

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

    分享一個(gè)嵌入式學(xué)習(xí)階段規(guī)劃

    (2)可選項(xiàng)目:智能巡線避障小車、智能機(jī)械臂、STM32U5/F407 開發(fā)、STM32U5 智能手表。
    發(fā)表于 09-12 15:11

    請(qǐng)問GPDMA和DMA的區(qū)別是什么?

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

    請(qǐng)問STM32U5不支持ST-LINK v2怎么辦?

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

    STM32U3 IIC通信后,SPI+GPDMA 進(jìn)入循環(huán)發(fā)送,DMA無法使能寄存器USEF=1怎么解決?

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

    STM32U3 IIC通信后,SPI+GPDMA 進(jìn)入循環(huán)發(fā)送,DMA無法使能寄存器USEF=1怎么辦?

    )); 現(xiàn)象:當(dāng)data1=0x00 時(shí),SPI+GPDMA正常發(fā)送,當(dāng)data1不等于0x00 時(shí)比如0x01等,GPDMA并不能使能。把IIC代碼注釋了,能夠正常發(fā)送SPI+GPMDA。IIC確實(shí)是能通信的。
    發(fā)表于 06-05 06:51

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

    我使用的是STM32U585系列芯片,開啟了IWDG,并在運(yùn)行模式下測(cè)試提前喚醒中斷正常觸發(fā),但在進(jìn)入STOP2模式后,提前喚醒中斷無法觸發(fā)導(dǎo)致無法喂狗,看門狗超時(shí)后芯片復(fù)位。 手冊(cè)中寫道IWDG
    發(fā)表于 04-27 08:05

    請(qǐng)問STM32U3系列的定位是怎樣的?

    領(lǐng)先的每毫瓦 Coremark分?jǐn)?shù)117。這幾乎是意法半導(dǎo)體之前 STM32U5系列效率的兩倍,是STM32L4系列的五倍。
    發(fā)表于 04-25 07:05

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

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

    STM32U5驅(qū)動(dòng)庫從1.6.0更新至1.7.0本可以正常運(yùn)行的代碼出現(xiàn)問題了,怎么處理?

    我于近期更新了CUBEMXIDE為1.18.0,以前的代碼工程(STM32U5_1.6.0)提示說有新驅(qū)動(dòng)庫(STM32U5_1.7.0)可以使用,隨即我便更新了驅(qū)動(dòng)庫,然后燒錄出現(xiàn)問題,調(diào)試發(fā)現(xiàn)
    發(fā)表于 04-23 07:51

    請(qǐng)問STM32U3系列的定位是怎樣的?

    領(lǐng)先的每毫瓦 Coremark分?jǐn)?shù)117。這幾乎是意法半導(dǎo)體之前 STM32U5系列效率的兩倍,是STM32L4系列的五倍。
    發(fā)表于 04-23 06:45

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

    我使用的是STM32U585系列芯片,開啟了IWDG,并在運(yùn)行模式下測(cè)試提前喚醒中斷正常觸發(fā),但在進(jìn)入STOP2模式后,提前喚醒中斷無法觸發(fā)導(dǎo)致無法喂狗,看門狗超時(shí)后芯片復(fù)位。 手冊(cè)中寫道IWDG
    發(fā)表于 04-22 08:14
    安义县| 宝山区| 沂源县| 梅州市| 思南县| 宜州市| 林州市| 海伦市| 开鲁县| 科技| 梁河县| 乐都县| 澄江县| 平远县| 扶余县| 黔西| 瑞丽市| 扶绥县| 依安县| 关岭| 都安| 金沙县| 浏阳市| 东宁县| 炉霍县| 濉溪县| 石嘴山市| 九龙坡区| 治多县| 清流县| 金昌市| 宿迁市| 纳雍县| 永和县| 济阳县| 左贡县| 灯塔市| 隆回县| 娱乐| 泰宁县| 防城港市|