18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

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

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

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

基于STM32H7 EXTI+SPI+DMA雙緩沖應(yīng)用演示

茶話(huà)MCU ? 來(lái)源:茶話(huà)MCU ? 2023-08-21 09:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

最近有STM32用戶(hù)咨詢(xún)---如何基于STM32H7系列芯片用EXTI0中斷同步觸發(fā)SPI DMA并實(shí)現(xiàn)DMA雙緩沖功能。當(dāng)然,在論壇上也有發(fā)布類(lèi)似咨詢(xún)帖。其實(shí),老早之前我算是未雨綢繆地在本公眾號(hào)分享了有關(guān)使用DMAMUX模塊通過(guò)EXTI同步觸發(fā)其它DMA請(qǐng)求的文章和關(guān)于DMA雙緩沖應(yīng)用原理介紹與參考實(shí)現(xiàn)代碼。

STM32 MCU家族中里很多系列內(nèi)置DMAMUX模塊,該模塊可以基于某些特定事件,比如某些EXTI事件、定時(shí)器觸發(fā)輸出、DMA完成事件來(lái)生成DMA請(qǐng)求;有了它,DMA請(qǐng)求與DMA通道的關(guān)聯(lián)可以實(shí)時(shí)編程,不再事先硬件鎖定DMA請(qǐng)求與DMA響應(yīng)通道的連接邏輯。我這里不對(duì)DMAMUX做詳細(xì)介紹,有需要的請(qǐng)閱讀STM32系列手冊(cè)的相關(guān)章節(jié)或他人的相關(guān)解讀。

今天重點(diǎn)就咨詢(xún)者的問(wèn)題,基于AMR MDK開(kāi)發(fā)環(huán)境、STM32H743Nucleo 開(kāi)放板做一下實(shí)驗(yàn)演示,供有需要的同仁參考。

現(xiàn)在要實(shí)現(xiàn)的大致功能是,EXTI0中斷作為SPI DMA發(fā)送的同步事件,SPI DMA接收采用雙緩沖模式,即接收用到2個(gè)獨(dú)立的緩沖區(qū)。我在測(cè)試時(shí)將SPI的發(fā)送、接收腳短接,自發(fā)自收并工作在Master全雙工模式?!具@里用到的DMA為通用DMA,既非MDMA也非BDMA。下面兩幅圖是SPI收、發(fā)實(shí)現(xiàn)的功能框架,具體使用SPI1。】

f2492480-3e8c-11ee-ac96-dac502259ad0.png

f26a5aec-3e8c-11ee-ac96-dac502259ad0.png

我使用到PE0管腳【只要是某個(gè)GPIO端口的0號(hào)腳即可】,開(kāi)啟其外部中斷功能。下面都是使用STM32CubeMx圖形化配置工具進(jìn)行配置。

f282afa2-3e8c-11ee-ac96-dac502259ad0.png

f2aae530-3e8c-11ee-ac96-dac502259ad0.png

f2e22aa4-3e8c-11ee-ac96-dac502259ad0.png

使用EXTI0作為SPI DMA發(fā)送功能的同步事件。即SPI的DMA發(fā)送須得到EXTI0事件的觸發(fā)方可啟動(dòng)。每產(chǎn)生1個(gè)EXTI0事件就給SPI 申請(qǐng)24個(gè) DMA發(fā)送請(qǐng)求,并讓SPI DMA發(fā)送工作在循環(huán)模式。

f2fc18a6-3e8c-11ee-ac96-dac502259ad0.png

同時(shí)開(kāi)啟SPI的DMA接收功能,并使用DMA雙緩沖模式進(jìn)行接收。

f3238a30-3e8c-11ee-ac96-dac502259ad0.png

使用CubeMx配置完成后,建立工程?;?a target="_blank">ARM MDK的基本存儲(chǔ)配置截圖如下:

f34bf830-3e8c-11ee-ac96-dac502259ad0.png

說(shuō)明下,這里我沒(méi)有開(kāi)啟D-Cache,也沒(méi)有使用DMA FIFO。實(shí)際應(yīng)用中自行開(kāi)啟并做適當(dāng)配置及處理。關(guān)于EXTI0的產(chǎn)生,我剛開(kāi)始是使用跳線(xiàn)短接地驗(yàn)證的,但這樣操作很不方便,我后來(lái)改為軟件方式觸發(fā)EXTI0中斷。最后測(cè)試時(shí),我每2秒產(chǎn)生一個(gè)EXTI0中斷,進(jìn)而觸發(fā)SPI通信。

每產(chǎn)生1次EXTI0中斷,則SPI使用DMA方式發(fā)送24個(gè)字節(jié)數(shù)據(jù)。SPI的DMA接收采用雙環(huán)沖模式,每次每個(gè)緩沖區(qū)只接收8個(gè)字節(jié)數(shù)據(jù),然后切換緩沖區(qū)?!緦?shí)際上我將2個(gè)接收緩沖區(qū)開(kāi)辟的空間為10個(gè)字節(jié)】

f38e735e-3e8c-11ee-ac96-dac502259ad0.png

我基于STM32HAL庫(kù)組織的代碼,核心用戶(hù)參考代碼如下:

f3a83ec4-3e8c-11ee-ac96-dac502259ad0.png

下面函數(shù)代碼截圖是用來(lái)更新SPI發(fā)送緩沖區(qū)內(nèi)容的,測(cè)試中每2秒更新一次。

f3c771a4-3e8c-11ee-ac96-dac502259ad0.png

下面是經(jīng)過(guò)調(diào)試后的某一刻的演示結(jié)果截圖:

f3e88a88-3e8c-11ee-ac96-dac502259ad0.png

另外,下方還有視頻演示效果,有興趣的可以看看。建議點(diǎn)擊全屏按鈕f435017e-3e8c-11ee-ac96-dac502259ad0.png查看,否則效果可能不太好。整體效果就是定時(shí)產(chǎn)生EXTI0中斷,觸發(fā)SPI的DMA方式發(fā)送,SPI基于DMA雙緩沖模式進(jìn)行接收,可以看到2個(gè)接收緩沖區(qū)內(nèi)容因周期性接收切換操作而變更。

關(guān)于咨詢(xún)者的功能實(shí)現(xiàn)的介紹及演示就到這里。最后特意給些相關(guān)提醒,這些提醒跟上面演示同等重要。

1、注意開(kāi)啟D-Cache時(shí)的數(shù)據(jù)一致性問(wèn)題;

2、注意通用DMA訪(fǎng)問(wèn)域的限制問(wèn)題

3、注意DMAFIFO開(kāi)啟與不開(kāi)啟時(shí)的差別;

4、注意初始化代碼往往是有順序要求的;

說(shuō)實(shí)在的,本咨詢(xún)?cè)掝}涉及的內(nèi)容及知識(shí)點(diǎn)可能有點(diǎn)多,在此不能一一詳述。本人分享此應(yīng)用演示的主要目的,是希望給關(guān)注本應(yīng)用話(huà)題的人一些實(shí)現(xiàn)參考。能實(shí)現(xiàn),可以實(shí)現(xiàn),給遇到相應(yīng)困難的同仁以信心。

今天的話(huà)題就聊到這里,就此打住。下次再聊~!

審核編輯:湯梓紅
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    147

    文章

    18408

    瀏覽量

    380018
  • SPI
    SPI
    +關(guān)注

    關(guān)注

    17

    文章

    1838

    瀏覽量

    98895
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3349

    瀏覽量

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

    關(guān)注

    3

    文章

    577

    瀏覽量

    104911
  • stm32h7
    +關(guān)注

    關(guān)注

    0

    文章

    37

    瀏覽量

    1753

原文標(biāo)題:STM32H7 EXTI + SPI +DMA 雙緩沖應(yīng)用演示

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    如何用STM32H7EXTI0同步觸發(fā)SPI DMA緩沖?

    請(qǐng)教:有沒(méi)有朋友用STM32H7EXTI0同步觸發(fā)SPI DMA緩沖的,指教一下
    發(fā)表于 03-14 08:22

    STM32H7技術(shù)詳解

    STM32H7 系統(tǒng)架構(gòu) ? 單核及STM32H7系統(tǒng)框圖 ? AXI 總線(xiàn)及互聯(lián) ? ART 加速器 ? STM32H7 存儲(chǔ)器 結(jié)構(gòu) ? S
    發(fā)表于 09-07 06:01

    STM32H7演示:意法半導(dǎo)體

    意法半導(dǎo)體-STM32H7演示
    的頭像 發(fā)表于 07-02 11:13 ?7006次閱讀

    基于STM32介紹DMA緩沖模式

    目前STM32家族中有些系列支持DMA緩沖模式,比如STM32F2/STM32F4/
    的頭像 發(fā)表于 02-02 16:47 ?2.6w次閱讀
    基于<b class='flag-5'>STM32</b>介紹<b class='flag-5'>DMA</b>的<b class='flag-5'>雙</b><b class='flag-5'>緩沖</b>模式

    STM32H7正式投入生產(chǎn) 樣品現(xiàn)已上市

    STM32H7正式投入生產(chǎn),樣品現(xiàn)已上市
    的頭像 發(fā)表于 03-01 12:04 ?4396次閱讀
    <b class='flag-5'>雙</b>核<b class='flag-5'>STM32H7</b>正式投入生產(chǎn) 樣品現(xiàn)已上市

    STM32H7教程】第19章 STM32H7的GPIO應(yīng)用之按鍵FIFO

    STM32H7教程】第19章 STM32H7的GPIO應(yīng)用之按鍵FIFO
    發(fā)表于 11-23 18:21 ?9次下載
    【<b class='flag-5'>STM32H7</b>教程】第19章 <b class='flag-5'>STM32H7</b>的GPIO應(yīng)用之按鍵FIFO

    STM32H7學(xué)習(xí)之路繼續(xù)(stm32H7系列3) GPIO

    STM32H7學(xué)習(xí)之路繼續(xù)(stm32H7系列3) GPIO
    發(fā)表于 11-30 12:36 ?21次下載
    <b class='flag-5'>STM32H7</b>學(xué)習(xí)之路繼續(xù)(<b class='flag-5'>stm32H7</b>系列3)  GPIO

    STM32H7教程】第21章 STM32H7的NVIC中斷分組和配置(重要)

    STM32H7教程】第21章 STM32H7的NVIC中斷分組和配置(重要)
    發(fā)表于 12-04 14:36 ?14次下載
    【<b class='flag-5'>STM32H7</b>教程】第21章 <b class='flag-5'>STM32H7</b>的NVIC中斷分組和配置(重要)

    "STM32H7學(xué)習(xí)繼續(xù)(STM32H7系列5)第十七章比較實(shí)用,以后寫(xiě)程序的時(shí)候會(huì)用到"

    "STM32H7學(xué)習(xí)繼續(xù)(STM32H7系列5)第十七章比較實(shí)用,以后寫(xiě)程序的時(shí)候會(huì)用到"
    發(fā)表于 12-05 11:21 ?9次下載
    "<b class='flag-5'>STM32H7</b>學(xué)習(xí)繼續(xù)(<b class='flag-5'>STM32H7</b>系列5)第十七章比較實(shí)用,以后寫(xiě)程序的時(shí)候會(huì)用到"

    STM32H7教程】第8章 STM32H7的終極調(diào)試組件Event Recorder

    STM32H7教程】第8章 STM32H7的終極調(diào)試組件Event Recorder
    發(fā)表于 12-05 20:06 ?7次下載
    【<b class='flag-5'>STM32H7</b>教程】第8章 <b class='flag-5'>STM32H7</b>的終極調(diào)試組件Event Recorder

    STM32H7教程】第14章 STM32H7的電源,復(fù)位和時(shí)鐘系統(tǒng)

    STM32H7教程】第14章 STM32H7的電源,復(fù)位和時(shí)鐘系統(tǒng)
    發(fā)表于 12-09 11:21 ?37次下載
    【<b class='flag-5'>STM32H7</b>教程】第14章 <b class='flag-5'>STM32H7</b>的電源,復(fù)位和時(shí)鐘系統(tǒng)

    核型號(hào)的微控制器STM32H7

      此外,STM32H7核版本包括一個(gè)開(kāi)關(guān)模式電源 (SMPS),與使用更傳統(tǒng) LDO 的微控制器相比,可顯著提高 MCU 的電源效率。
    的頭像 發(fā)表于 05-15 17:19 ?1.3w次閱讀

    AN5361_開(kāi)始使用基于STM32CubeIDESTM32H7微控制器的項(xiàng)目

    AN5361_開(kāi)始使用基于STM32CubeIDESTM32H7微控制器的項(xiàng)目
    發(fā)表于 11-21 08:11 ?3次下載
    AN5361_開(kāi)始使用基于<b class='flag-5'>STM32</b>CubeIDE<b class='flag-5'>雙</b>核<b class='flag-5'>STM32H7</b>微控制器的項(xiàng)目

    AN5361_STM32CubeIDE中基于STM32H7微控制器的項(xiàng)目入門(mén)

    AN5361_STM32CubeIDE中基于STM32H7微控制器的項(xiàng)目入門(mén)
    發(fā)表于 11-21 08:11 ?2次下載
    AN5361_<b class='flag-5'>STM32</b>CubeIDE中基于<b class='flag-5'>雙</b>核<b class='flag-5'>STM32H7</b>微控制器的項(xiàng)目入門(mén)

    STM32H7技術(shù)詳解

    電子發(fā)燒友網(wǎng)站提供《STM32H7技術(shù)詳解.pdf》資料免費(fèi)下載
    發(fā)表于 08-01 14:49 ?6次下載
    <b class='flag-5'>STM32H7</b>技術(shù)詳解