chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

使用CubeMx怎么配置不了UART的DMA?

茶話MCU ? 來(lái)源:ST MCU 信息交流 ? 2020-07-05 10:34 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

STM32用戶反映,他目前使用STM32F407VE的芯片開(kāi)發(fā)產(chǎn)品,在使用CubeMx做初始化配置時(shí)發(fā)現(xiàn)沒(méi)法給UART5配置基于該外設(shè)事件的DMA請(qǐng)求。他覺(jué)得很奇怪,堅(jiān)信UART5是可以申請(qǐng)DMA傳輸?shù)?,而且他還基于早期CubeMx 版本配置過(guò)、使用過(guò)。

他剛好最近對(duì)CubeMx升級(jí)到5.5.0了,懷疑是不是STM32CubeMx5.5以上版本的bug。

說(shuō)到這里,可能有人還不是沒(méi)完全明白具體怎么回事。我們結(jié)合他給過(guò)來(lái)得截圖一起來(lái)看看。他在對(duì)uart5做配置時(shí)出現(xiàn)的界面是下面這樣的,連那個(gè)DMA配置的菜單都沒(méi)有。

基于他的反饋,我用目前最新的CubeMX版本5.6.1進(jìn)行驗(yàn)證,同樣對(duì)STM32F407VE的UART5進(jìn)行配置并試著為其申請(qǐng)DMA傳輸。經(jīng)過(guò)測(cè)試并沒(méi)有碰到他所說(shuō)的問(wèn)題。

那問(wèn)題出在哪兒呢?

我的測(cè)試工程只是單純使用到UART5,并未使用其它外設(shè)及相關(guān)DMA應(yīng)用。我結(jié)合他反饋過(guò)來(lái)的配置截圖,隱約發(fā)現(xiàn)他的工程應(yīng)用中并不僅僅使用一個(gè)UART5外設(shè),還用到了其它外設(shè)。會(huì)不會(huì)是他在配置其它外設(shè)并申請(qǐng)DMA請(qǐng)求時(shí),把UART5可以申請(qǐng)的DMA流占用了呢?

我們先不妨打開(kāi)STM32F4系列參考手冊(cè)的DMA章節(jié),看看有關(guān)外設(shè)事件與DMA傳輸流的映射關(guān)系圖。從手冊(cè)中我們可以看到,UART5的TX/RX事件能申請(qǐng)DMA毫無(wú)疑問(wèn),但只能申請(qǐng)DMA1_S0和DMA1_S7。

然而呢,可以申請(qǐng)DMA1_S0和DMA1_S7的外設(shè)事件又有很多,比方TIM4_CH1和TIM4_CH3就可以分別申請(qǐng)DMA1_S0和DMA1_S7。如果說(shuō),在做UART5事件的DMA配置之前,若有別的外設(shè)事件已經(jīng)將DMA1_S0和DMA1_S7申請(qǐng)走了,這時(shí)UART5就應(yīng)該沒(méi)得申請(qǐng)了。

基于上面分析,我們可以進(jìn)一步驗(yàn)證下。

我們使用上面提到得TIM4_CH1和TIM4_CH3先將DMA1_S0和DMA1_S7申請(qǐng)走,再來(lái)嘗試為UART5申請(qǐng)DMA,看看會(huì)怎么樣。結(jié)果CubeMX提示該外設(shè)請(qǐng)求無(wú)效,不能申請(qǐng)DMA了。如下圖所示:

提示界面跟客戶反饋的不太一樣,應(yīng)該是CubeMx版本的差異所致。表達(dá)的基本意思還是相同的,即此時(shí)沒(méi)法為UART5事件申請(qǐng)DMA傳輸。

到此,客戶反饋的問(wèn)題原因也基本清晰。像這種情況,由于UART5的TX/RX事件要申請(qǐng)的DMA流固定了,我們可以看看目前占用uart5欲申請(qǐng)的DMA流的外設(shè),他們是否可以做調(diào)整去申請(qǐng)別的DAM流,從而避免競(jìng)爭(zhēng)。因?yàn)橛行┩庠O(shè)事件可能申請(qǐng)的DMA流不只一條,當(dāng)然這要結(jié)合具體的芯片。以STM32F4芯片為例,下圖中的TIM1_CH1,SPI1_RX,SPI1_TX可申請(qǐng)的DMA傳輸流都不只一條。

或許有人知道,STM32家族中有些系列支持DMAMUX,如果有它做DMA配置就更方便、高效。但不管怎樣,DMA請(qǐng)求事件肯定要遠(yuǎn)遠(yuǎn)多于具體實(shí)施傳輸?shù)腄MA流,所以具體應(yīng)用中并不能保證有申請(qǐng)DMA資格的事件就一定申請(qǐng)得到相應(yīng)的DMA傳輸。就像你有錢也有資格坐飛機(jī)坐高鐵,但并不能保證你時(shí)刻可以買到你期望的機(jī)票或火車票而成行。

再結(jié)合到本案例,遇到兩個(gè)外設(shè)事件對(duì)一個(gè)DMA傳輸流發(fā)生競(jìng)爭(zhēng)不可避免的時(shí)候,若兩個(gè)外設(shè)對(duì)DMA的使用在時(shí)間上可以錯(cuò)開(kāi)的話,也還是有辦法解決的。我們可以使用CubeMx分別基于兩個(gè)外設(shè)的DMA請(qǐng)求事件生成兩套配置,然后手動(dòng)調(diào)整代碼,需要使用哪個(gè)外設(shè)事件的DMA傳輸時(shí)就啟用相應(yīng)的DMA配置及應(yīng)用函數(shù)??傊?,搞清了怎么回事,結(jié)合具體應(yīng)用靈活處理就好。

最后小結(jié)下。針對(duì)上面的客戶問(wèn)題,如果對(duì)CubeMx工具的使用不熟或者說(shuō)只是機(jī)械地使用該工具做配置,心里沒(méi)有些基本原理做支撐的話,遇到該問(wèn)題時(shí)恐怕一時(shí)也的確難以找到方向。在此分享,權(quán)作提醒。

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

    關(guān)注

    463

    文章

    53898

    瀏覽量

    463751
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1309

    瀏覽量

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

    關(guān)注

    3

    文章

    580

    瀏覽量

    105709

原文標(biāo)題:使用CubeMx怎么配置不了UART的DMA?

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    UART無(wú)法收發(fā)/亂碼的排查

    了嗎?共地了嗎? 3、引腳復(fù)用: 確認(rèn)使用的 UART 引腳配置正確,且復(fù)用功能已開(kāi)啟。 4、中斷/DMA: 如果使用中斷或 DMA,相關(guān)配置
    發(fā)表于 11-18 07:05

    蜂鳥(niǎo)內(nèi)核中DMA的硬件實(shí)現(xiàn)——寄存器配置

    DMA,Direct Memory Access,直接內(nèi)存訪問(wèn),是一種不經(jīng)過(guò)CPU而直接從內(nèi)存存取數(shù)據(jù)的數(shù)據(jù)交換模式。在DMA模式下,CPU只需要向DMA控制器下達(dá)指令(配置
    發(fā)表于 10-24 08:46

    CUBEMX配置不了,配置完立刻閃退掉,無(wú)法查看cubemx配置界面是為什么?

    在studio配置cubemx配置不了,配置完沒(méi)顯示cubemx的界面
    發(fā)表于 10-11 12:33

    Env配置DMA出錯(cuò)的原因?怎么處理?

    為啥我配置DMA出現(xiàn)報(bào)錯(cuò) 制作的bsp是沒(méi)有報(bào)錯(cuò)
    發(fā)表于 09-11 07:24

    STM32H743 UART DMA接收不到數(shù)據(jù)是為什么?

    #define BSP_USING_UART #define BSP_USING_UART3 #define BSP_UART3_RX_USING_DMA #define
    發(fā)表于 09-11 07:14

    XMC7100 F100K4160AA Uart2 dma實(shí)例程序無(wú)法運(yùn)行,使用hal驅(qū)動(dòng)發(fā)送丟字符并且無(wú)法接收怎么解決?

    問(wèn)題1:修改SCB UART DMA Echo實(shí)例程序引腳和dma通道配置正常運(yùn)行后,無(wú)法按照實(shí)例設(shè)計(jì)功能接收和顯示。 問(wèn)題2:使用hal驅(qū)動(dòng)方式,能正常發(fā)送數(shù)據(jù),但經(jīng)常丟字符,添加
    發(fā)表于 08-13 06:23

    無(wú)法配置 ADC1 來(lái)觸發(fā) DMA 傳輸,怎么解決?

    您好,我無(wú)法配置 ADC1 來(lái)觸發(fā) DMA 傳輸,以便將 ADC 結(jié)果復(fù)制到緩沖區(qū)中并避免使用 ADC1 中斷。 根據(jù)用戶手冊(cè),我發(fā)現(xiàn)應(yīng)該使用 DMAP_ADC 來(lái)設(shè)置 DMA 的觸發(fā)源。 我設(shè)置
    發(fā)表于 07-21 06:57

    STM32H7CubeMX配置硬件I2C,讀寫失敗是什么問(wèn)題呀?

    STM32H7CubeMX配置硬件I2C,讀寫失敗什么問(wèn)題呀,同樣的操作F4和F1都能正常使用,應(yīng)該不存在i2c地址錯(cuò)誤,操作都是一樣的,但H7就是用不了。I2C_WaitOnFlagUntilTimeout返回HAL_ERRO
    發(fā)表于 06-12 06:21

    stm32f407無(wú)法配置定時(shí)器2為全部dma怎么解決?

    斷的情況,少鏈接其中一個(gè)通道,就不會(huì)出現(xiàn)這種情況,麻煩各位老師幫忙分析一下,給點(diǎn)思路,非常感謝。。(ps:CubeMX下是無(wú)法配置定時(shí)器2的4個(gè)通道為dma模式)[/td] 以下內(nèi)容為評(píng)論 [td]看了一下
    發(fā)表于 06-11 06:49

    如何才能拿到UART通過(guò)DMA收取回來(lái)的數(shù)據(jù)呢?

    你好,我想詢問(wèn)一下UART使用DMA時(shí)收取數(shù)據(jù)的代碼。之前我是用的是非DMA模式,使用的函數(shù)是CyU3PUartReceiveBytes,但是其處理速度不符合我的要求。因此我使用DMA
    發(fā)表于 05-22 08:31

    使用Cubemx配置STM32H750VBT6的freertos連最基本的keil編譯都過(guò)不了,為什么?

    我使用Cubemx配置STM32H750VBT6的freertos連最基本的keil編譯都過(guò)不了,請(qǐng)問(wèn)這是為什么?。?b class='flag-5'>cubemx是最新版,keil使用v5v6編譯器都不行,顯示floa
    發(fā)表于 03-10 07:25

    使用STM32H743對(duì)外部一個(gè)ADC芯片做數(shù)據(jù)采集,根據(jù)CubeMX配置的驅(qū)動(dòng)無(wú)法觸發(fā)SPI,怎么解決?

    最近使用STM32H743對(duì)外部一個(gè)ADC芯片做數(shù)據(jù)采集,想通過(guò)外部中斷信號(hào)觸發(fā)SPI DMA讀取數(shù)據(jù)(每次3byte),但根據(jù)CubeMX配置的驅(qū)動(dòng)無(wú)法觸發(fā)SPI(無(wú)CLK時(shí)鐘信號(hào)發(fā)出)。 工程也
    發(fā)表于 03-07 07:40

    STM32CubeMX用于STM32配置和初始化C代碼生成

    電子發(fā)燒友網(wǎng)站提供《STM32CubeMX用于STM32配置和初始化C代碼生成.pdf》資料免費(fèi)下載
    發(fā)表于 02-26 17:32 ?678次下載

    工程師開(kāi)發(fā)利器:STM32CubeMX 與 eDesignSuite 的協(xié)同開(kāi)發(fā)

    的核心功能與優(yōu)勢(shì)STM32CubeMX 是 ST 官方推出的圖形化配置工具,專為簡(jiǎn)化 STM32 微控制器開(kāi)發(fā)流程而設(shè)計(jì)。以下是其核心功能和優(yōu)勢(shì):硬件配置自動(dòng)化支持 引腳分配與沖突檢測(cè):通過(guò)圖形化
    的頭像 發(fā)表于 02-26 14:07 ?1375次閱讀
    工程師開(kāi)發(fā)利器:STM32<b class='flag-5'>CubeMX</b> 與 eDesignSuite 的協(xié)同開(kāi)發(fā)

    STM32H743 UART DMA接收不到數(shù)據(jù),為什么?

    #define BSP_USING_UART #define BSP_USING_UART3 #define BSP_UART3_RX_USING_DMA #define
    發(fā)表于 02-19 06:14