91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

基于STM32L476芯片來做個(gè)演示

茶話MCU ? 來源:ST MCU 信息交流 ? 2019-11-20 14:57 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

我們?cè)谧鯯PI應(yīng)用時(shí),有時(shí)希望通過定時(shí)器定時(shí)地觸發(fā)SPI的收發(fā),并利用DMA完成數(shù)據(jù)的傳輸。這里,我基于STM32L476芯片來做個(gè)演示,以供參考【為什么選用32L476,其實(shí)沒啥特別原因,只是順手找了塊Nucleo板】。

本示例的大致過程是這樣的:

片內(nèi)SPI1做Master,SPI2做Slave,均工作在全雙工模式。

這里使用片內(nèi)定時(shí)器TIM3,借助它的更新事件觸發(fā)DMA請(qǐng)求,通過DMA將數(shù)據(jù)給到SPI1的數(shù)據(jù)寄存器并發(fā)送出去,同時(shí)也開啟SPI1接收事件的DMA傳輸。SPI2的收、發(fā)事件都啟用DMA傳輸來實(shí)現(xiàn)數(shù)據(jù)收發(fā)操作。

TIM3的更新時(shí)間控制兩個(gè)SPI的收發(fā)節(jié)奏,即定時(shí)器每產(chǎn)生一次更新事件,SPI1/SPI2這兩個(gè)主從通信模塊就進(jìn)行一個(gè)數(shù)據(jù)的收發(fā)。我們可以通過調(diào)整定時(shí)器的計(jì)時(shí)周期來調(diào)整數(shù)據(jù)收發(fā)的快慢節(jié)奏。

好,先基于STM32CubeMx進(jìn)行初始化配置。

1、對(duì)TIM3做基本配置。選擇時(shí)鐘源,先大致估算個(gè)定時(shí)器計(jì)時(shí)周期,調(diào)試時(shí)我們可以自行靈活調(diào)整。

開啟基于TIM3更新事件的DMA配置。傳輸方向是從Memory到外設(shè)SPI1,即將內(nèi)存數(shù)據(jù)傳輸?shù)絊PI1的數(shù)據(jù)寄存器進(jìn)行數(shù)據(jù)發(fā)送,這里選用循環(huán)模式。

2、對(duì)SPI1/SPI2進(jìn)行基本配置。細(xì)節(jié)請(qǐng)參看下面三幅截圖。

3、DMA的配置情況。

在TIM3和SPI1/SPI2外設(shè)配置中,開啟了相關(guān)事件的DMA請(qǐng)求,匯總?cè)缦聢D。

4、準(zhǔn)備用戶代碼。

當(dāng)完成基于STM32CubeMx的初始化配置并生產(chǎn)初始化代碼后,我們準(zhǔn)備相應(yīng)的用戶代碼。

這里準(zhǔn)備了4個(gè)內(nèi)存數(shù)組,分別存放SPI1/SPI2的收發(fā)數(shù)據(jù)。

在定時(shí)器的觸發(fā)下,主SPI1逐字的向從SPI2發(fā)送“Hello! I AM STM32!”,從SPI2也逐字的向主SPI1回應(yīng)“HI,MASTER,ME TOO!”,就這樣循環(huán)操作。

下面兩幅圖是本示例中使用到的用戶代碼截圖,是基于STM32Cube固件庫而編寫的。應(yīng)該說簡單明了,無須多做解釋。

5、結(jié)果驗(yàn)證。

下面的截圖是兩個(gè)不同時(shí)刻SPI通信時(shí)的信號(hào)時(shí)序波形圖。其中,紫色的是時(shí)鐘信號(hào),綠色、黃色是數(shù)據(jù)信號(hào)。兩個(gè)數(shù)據(jù)信號(hào)間的間隔由定時(shí)器的更新周期決定。

下面的截圖是在調(diào)試狀態(tài)下的通過觀察窗口得到的SPI1/SPI2分別從對(duì)方收到的內(nèi)容。

最后小結(jié)下。整體上講上述應(yīng)用的實(shí)現(xiàn)不難,稍微有點(diǎn)綜合性。

要實(shí)現(xiàn)上述應(yīng)用,首先要求我們對(duì)DMA傳輸?shù)脑碛星逦牧私?,觸發(fā)事件,傳輸源、傳輸目標(biāo)幾個(gè)概念及關(guān)系要弄清楚。另外,即使我們基于STM32固件庫開發(fā),不一定能找到完完整整的現(xiàn)存代碼,我們可能需要基于現(xiàn)有驅(qū)動(dòng)代碼自行組織用戶程序。還有,在上面示例代碼中,我沒有開啟DMA的中斷事件,我們?cè)诰唧w應(yīng)用中可以根據(jù)情況來決定是否啟用DMA中斷,比方開啟傳輸完成中斷等。順便提醒下,這里我們基于定時(shí)器事件自行指定DMA的源端和目的端,?一定要保證是該觸發(fā)事件所請(qǐng)求的DMA可以到達(dá)的地方,編程設(shè)計(jì)前最好查看下相關(guān)芯片數(shù)據(jù)手冊(cè)里的芯片模塊及總線框架圖。

聲明:本文內(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)投訴
  • 芯片
    +關(guān)注

    關(guān)注

    463

    文章

    54050

    瀏覽量

    466588
  • STM32
    +關(guān)注

    關(guān)注

    2310

    文章

    11167

    瀏覽量

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

    關(guān)注

    23

    文章

    3368

    瀏覽量

    123819

原文標(biāo)題:STM32定時(shí)器觸發(fā)SPI逐字收發(fā)之應(yīng)用示例

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    STM32L072xx:超低功耗32位MCU的卓越之選

    STM32L072xx:超低功耗32位MCU的卓越之選 在當(dāng)今的電子設(shè)計(jì)領(lǐng)域,超低功耗、高性能的微控制器(MCU)一直是工程師們追求的目標(biāo)。ST公司的STM32L072xx系列MCU以其出色的性能
    的頭像 發(fā)表于 03-13 15:35 ?58次閱讀

    STM32L151xC與STM32L152xC:超低功耗MCU的卓越之選

    STM32L151xC與STM32L152xC:超低功耗MCU的卓越之選 在當(dāng)今的電子設(shè)計(jì)領(lǐng)域,超低功耗微控制器(MCU)的需求日益增長,尤其是在對(duì)功耗敏感的應(yīng)用場(chǎng)景中
    的頭像 發(fā)表于 03-11 16:30 ?75次閱讀

    STM32L072xx:超低功耗32位MCU的設(shè)計(jì)指南與應(yīng)用潛力

    STM32L072xx:超低功耗32位MCU的設(shè)計(jì)指南與應(yīng)用潛力 在當(dāng)今電子設(shè)備追求低功耗、高性能的時(shí)代,STM32L072xx系列微控制器憑借其卓越的特性脫穎而出,成為眾多應(yīng)用領(lǐng)域的理想選擇。本文
    的頭像 發(fā)表于 03-02 17:15 ?657次閱讀

    STM32L062x8:超低功耗32位MCU的卓越之選

    STM32L062x8:超低功耗32位MCU的卓越之選 在當(dāng)今的電子設(shè)計(jì)領(lǐng)域,低功耗、高性能的微控制器(MCU)是眾多應(yīng)用的核心需求。STMicroelectronics推出的STM32L
    的頭像 發(fā)表于 03-02 15:20 ?150次閱讀

    STM32L072xx系列微控制器:低功耗設(shè)計(jì)的優(yōu)選之選

    STM32L072xx系列微控制器:低功耗設(shè)計(jì)的優(yōu)選之選 在當(dāng)今的電子設(shè)備設(shè)計(jì)中,低功耗、高性能的微控制器是眾多工程師追求的目標(biāo)。STMicroelectronics推出的STM32L072xx系列
    的頭像 發(fā)表于 02-28 11:35 ?314次閱讀

    探索SCANSTA476:低功耗模擬電壓監(jiān)測(cè)器的卓越之選

    探索SCANSTA476:低功耗模擬電壓監(jiān)測(cè)器的卓越之選 在電子設(shè)計(jì)領(lǐng)域,精準(zhǔn)的電壓監(jiān)測(cè)至關(guān)重要,它是保障電子設(shè)備穩(wěn)定運(yùn)行的關(guān)鍵因素之一。德州儀器(TI)的SCANSTA476作為一款低功耗的模擬
    的頭像 發(fā)表于 12-29 17:40 ?611次閱讀

    CW32L012與STM32F103的三角運(yùn)算性能對(duì)比

    ? ?CW32L012和STM32F103在定位和性能上差異顯著,在三角函數(shù)的運(yùn)算性能上的對(duì)比亦非常直觀。 一、 硬件架構(gòu)對(duì)比(性能基礎(chǔ)) 芯片型號(hào) CW32L012C8
    的頭像 發(fā)表于 12-29 15:32 ?2342次閱讀
    CW32<b class='flag-5'>L</b>012與<b class='flag-5'>STM32</b>F103的三角運(yùn)算性能對(duì)比

    STM32L476低功耗怎么做啊

    STM32L476低功耗怎么做啊
    發(fā)表于 11-11 16:48

    PM組件低功耗定時(shí)器動(dòng)態(tài)補(bǔ)償后,進(jìn)入stop2無法喚醒怎么處理?

    版本5.1.0,采用STM32L476結(jié)合pm組件做低功耗管理,開啟了低功耗定時(shí)器動(dòng)態(tài)補(bǔ)償時(shí)鐘,但是發(fā)現(xiàn)發(fā)現(xiàn)一旦開啟低功耗定時(shí)器補(bǔ)償時(shí)鐘,進(jìn)入休眠后mcu就無法在被喚醒,嘗試在io外部中斷請(qǐng)求中
    發(fā)表于 09-10 07:24

    昂科燒錄器支持ST意法半導(dǎo)體的超低功耗微控制器STM32L476RCT

    昂科技術(shù)作為芯片燒錄領(lǐng)域的領(lǐng)導(dǎo)者,在其新版燒錄軟件發(fā)布之際,宣布擴(kuò)展了兼容芯片型號(hào)列表。新增型號(hào)包含了意法半導(dǎo)體的超低功耗微控制器STM32L476RCT。目前,該芯片已獲得昂科通用燒
    的頭像 發(fā)表于 07-21 11:38 ?852次閱讀
    昂科燒錄器支持ST意法半導(dǎo)體的超低功耗微控制器<b class='flag-5'>STM32L476</b>RCT

    STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊(cè)

    電子發(fā)燒友網(wǎng)站提供《STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊(cè).pdf》資料免費(fèi)下載
    發(fā)表于 06-06 17:06 ?17次下載

    基于STM32 人群定位、調(diào)速智能風(fēng)扇設(shè)計(jì)(程序、設(shè)計(jì)報(bào)告、視頻演示

    基于STM32 人群定位、調(diào)速智能風(fēng)扇設(shè)計(jì)(程序、設(shè)計(jì)報(bào)告、視頻演示),有需要的同學(xué)推薦下載!
    發(fā)表于 05-28 21:34

    基于stm32 nucleo_L476的智能燈(操作說明+源碼)

    基于stm32 nucleo_L476的智能燈(操作說明+源碼)推薦下載!
    發(fā)表于 05-28 21:29

    基于STM32 人群定位、調(diào)速智能風(fēng)扇設(shè)計(jì)(程序、設(shè)計(jì)報(bào)告、視頻演示

    基于STM32 人群定位、調(diào)速智能風(fēng)扇設(shè)計(jì)(程序、設(shè)計(jì)報(bào)告、視頻演示)項(xiàng)目下載! 純分享帖,需要者可點(diǎn)擊附件免費(fèi)獲取完整資料~~~【免責(zé)聲明】本文系網(wǎng)絡(luò)轉(zhuǎn)載,版權(quán)歸原作者所有。本文所用視頻、圖片、文字如涉及作品版權(quán)問題,請(qǐng)第一時(shí)間告知,刪除內(nèi)容!
    發(fā)表于 05-23 20:35

    STM32L476 Flash擦除失敗的原因?

    開發(fā)板MCU型號(hào):STM32L476RG 同樣的固件在開發(fā)板中flash讀寫擦除操作都沒問題,但在產(chǎn)品中擦除函數(shù)返回成功,但flash中的數(shù)據(jù)其實(shí)并沒有擦除。 這兩款MCU在Flash的操作上是否有什么不同?
    發(fā)表于 04-23 08:26