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

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

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

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

關(guān)于STM32定時器觸發(fā)SPI逐字收發(fā)之應(yīng)用示例

黃工的嵌入式技術(shù)圈 ? 來源:黃工的嵌入式技術(shù)圈 ? 作者:黃工的嵌入式技術(shù) ? 2020-01-14 16:35 ? 次閱讀

我們在做SPI應(yīng)用時,有時希望通過定時器來定時地觸發(fā)SPI的收發(fā),并利用DMA完成數(shù)據(jù)的傳輸。這里,以STM32L476芯片為例來做個演示,以供參考。

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

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

這里使用片內(nèi)定時器TIM3,通過它的更新事件觸發(fā)DMA請求,通過DMA將數(shù)據(jù)給到SPI1的數(shù)據(jù)寄存器并發(fā)送出去,同時也開啟SPI1接收事件的DMA傳輸。總之,SPI2的收、發(fā)事件都啟用DMA完成。

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

好,先基于STM32CubeMx進行初始化配置。

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

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

2. 對SPI1/SPI2進行基本配置。細節(jié)請參看下面三幅截圖。

3、DMA的配置情況。

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

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

當(dāng)完成基于STM32CubeMx的初始化配置并生產(chǎn)初始化代碼后,我們準(zhǔn)備相應(yīng)的用戶代碼。這里準(zhǔn)備了4個內(nèi)存數(shù)組,分別用于存放SPI1/SPI2的收發(fā)數(shù)據(jù)。

在定時器的觸發(fā)下,Master SPI1逐字的向Slave SPI2發(fā)送“Hello! I AM STM32!”,Slave SPI2也逐字的向Master回應(yīng)“HI,MASTER,ME TOO!”,這樣循環(huán)操作。下面兩幅截圖是本示例中使用到的用戶代碼,是基于STM32Cube固件庫而編寫的。應(yīng)該說簡單明了,無須過多解釋。

5、結(jié)果驗證。

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

下面的截圖是在調(diào)試狀態(tài)下的通過觀察窗口得到的SPI1/SPI2分別從對方收到的數(shù)據(jù),即SPI2收到的數(shù)據(jù)是“HELLO,I AM STM32!”,SPI1收到的數(shù)據(jù)則是“HI,MASTER,ME TOO!”

整體上講,上述應(yīng)用的實現(xiàn)不難,可能稍微有點綜合性。

要實現(xiàn)上述應(yīng)用,首先要求我們對DMA傳輸?shù)脑碛星逦牧私猓|發(fā)事件,傳輸源、傳輸目標(biāo)幾個概念及關(guān)系要弄清楚。

另外,即使我們基于STM32固件庫開發(fā),不一定能找到完整的現(xiàn)存例程,我們可能需要基于現(xiàn)有驅(qū)動代碼自行組織用戶程序。

還有,在上面示例代碼中,我沒有開啟DMA的中斷事件,我們在具體應(yīng)用中可以根據(jù)情況來決定是否啟用DMA中斷,比方開啟傳輸完成中斷等。

最后順便提醒下,這里我們基于定時器事件的DMA請求而自行指定DMA的源端和目的端,?一定要保證是該觸發(fā)事件所請求的DMA可以到達的地方。建議編程設(shè)計前最好查看下相關(guān)芯片數(shù)據(jù)手冊里的芯片模塊及總線框架圖,不然的話,有時你可能遇到你指定的DMA根本就不正常運作的情況。

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

    關(guān)注

    2290

    文章

    11017

    瀏覽量

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

    關(guān)注

    17

    文章

    1784

    瀏覽量

    94784
  • 定時器
    +關(guān)注

    關(guān)注

    23

    文章

    3288

    瀏覽量

    117248
收藏 人收藏

    評論

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

    MCU定時器/計數(shù)

    RISC-V核低功耗MCU通過靈活的定時器架構(gòu)、低功耗模式適配及硬件級中斷優(yōu)化,在工業(yè)控制、智能家居等場景中實現(xiàn)高精度計時與能耗控制的協(xié)同設(shè)計,滿足復(fù)雜任務(wù)調(diào)度與實時響應(yīng)的雙重需求?。 一、?硬件
    的頭像 發(fā)表于 04-27 13:54 ?176次閱讀

    STM32定時器基本原理及常見問題培訓(xùn)資料

    STM32 定時器基本原理及常見問題培訓(xùn)資料v3.10 時基單元、捕捉比較功能、主從觸發(fā)與級聯(lián)、案例分享 培訓(xùn)內(nèi)容:
    發(fā)表于 04-08 16:26

    使用stm32f405做6步pwm輸出時,定時器配置由強制輸出轉(zhuǎn)為pwm,com觸發(fā)后會有延遲生效的現(xiàn)象,怎么解決?

    我在使用stm32f405做6步pwm輸出時發(fā)現(xiàn),定時器的配置由pwm改為強制輸出后會在com觸發(fā)時立即生效,但是定時器配置由強制輸出轉(zhuǎn)為pwm,com
    發(fā)表于 03-13 07:24

    定時器已安排!開發(fā)小白看過來~

    或周期性地執(zhí)行代碼段,為物聯(lián)網(wǎng)設(shè)備的運行提供了精確的時間控制。在多種應(yīng)用場景中都發(fā)揮著重要作用,例如:定時發(fā)送數(shù)據(jù)、周期性檢查傳感狀態(tài)等。 Air201最新資料下載: www.air201.cn 本文將通過demo示例,帶你了
    的頭像 發(fā)表于 12-31 14:30 ?398次閱讀
    <b class='flag-5'>定時器</b>已安排!開發(fā)小白看過來~

    SPI數(shù)據(jù)速率影響定時器中斷,問題出在哪里?

    你好,在我的項目中,我使用了 Psoc6 的 DMA(2 條數(shù)據(jù)線)和 SPI PDL。 此外,還有一個定時器(通過 HAL 實現(xiàn))不斷觸發(fā)中斷。 當(dāng)相應(yīng)的 ISR 執(zhí)行到規(guī)定次數(shù)時,收集到的數(shù)據(jù)
    發(fā)表于 07-23 07:07

    定時器的工作方式介紹

    定時器是計算機和嵌入式系統(tǒng)中常見的一種硬件模塊,用于實現(xiàn)定時和計數(shù)功能。定時器的工作方式通常由一組寄存來控制,這些寄存定義了
    的頭像 發(fā)表于 07-12 10:29 ?1716次閱讀

    定時器相關(guān)的寄存有哪些類型

    在微控制編程中,定時器是一種非常常見的功能模塊,用于實現(xiàn)各種定時和計數(shù)功能。定時器的工作原理是通過內(nèi)部的計數(shù)來跟蹤時間的流逝,當(dāng)計數(shù)
    的頭像 發(fā)表于 07-12 10:25 ?1555次閱讀

    tc397如何使用定時器的更新事件來觸發(fā)dma搬運數(shù)據(jù)?

    請問有沒有人使用過定時器的更新事件來觸發(fā)dma搬運數(shù)據(jù),或者哪里有相關(guān)的示例代碼,我不知道應(yīng)該使用gtm模塊的哪個子模塊來做這件事情,有經(jīng)驗的大佬可否指教下。
    發(fā)表于 07-05 06:36

    外接高級定時器1的剎車引腳后,STM32中能不能做濾波?

    請問下外接高級定時器1的剎車引腳后,STM32中能不能做濾波,因為這個剎車功能一旦觸發(fā)就直接關(guān)閉PWM波了,要是因為噪聲等干擾意外觸發(fā),整個控制都關(guān)閉了,還有PWM是在剎車的中斷服務(wù)函
    發(fā)表于 07-02 08:04

    STM32G4系列芯片定時器的延時輸出問題

    有人使用STM32G4系列芯片內(nèi)部的多個定時器做PWM輸出,輸出頻率一樣,占空比也一樣,均為50%。可是,當(dāng)他中途調(diào)整各個定時器以相同的工作參數(shù),即改變ARR的值和CCR值后,會發(fā)現(xiàn)TIM2和TIM5兩個
    的頭像 發(fā)表于 07-01 09:45 ?2506次閱讀
    <b class='flag-5'>STM32</b>G4系列芯片<b class='flag-5'>定時器</b>的延時輸出問題

    鴻蒙開發(fā)系統(tǒng)基礎(chǔ)能力:Timer定時器

    設(shè)置一個定時器,該定時器定時器到期后執(zhí)行一個函數(shù)。
    的頭像 發(fā)表于 06-28 11:33 ?1374次閱讀
    鴻蒙開發(fā)系統(tǒng)基礎(chǔ)能力:Timer<b class='flag-5'>定時器</b>

    使用Arduino的可變定時器繼電器設(shè)計

    定時器繼電器,也被稱為時間繼電器,是一種在設(shè)定的時間間隔后觸發(fā)特定操作的電子元件。它在工業(yè)自動化、家庭生活、交通管理等領(lǐng)域具有廣泛的應(yīng)用。定時器繼電器的主要功能是通過設(shè)定特定的時間間隔,來控制電路的通斷,實現(xiàn)設(shè)備的自動化操作。
    的頭像 發(fā)表于 06-24 16:52 ?1501次閱讀
    使用Arduino的可變<b class='flag-5'>定時器</b>繼電器設(shè)計

    三菱plc如何顯示定時器時間

    三菱PLC(Programmable Logic Controller,可編程邏輯控制)是一種廣泛應(yīng)用于工業(yè)自動化領(lǐng)域的設(shè)備。定時器是PLC中的一種基本功能,用于實現(xiàn)延時控制、計時控制等功能。在三
    的頭像 發(fā)表于 06-20 11:10 ?3117次閱讀

    PLC定時器的工作原理和應(yīng)用

    在工業(yè)自動化控制系統(tǒng)中,PLC(Programmable Logic Controller,可編程邏輯控制)因其強大的控制功能和靈活性而得到廣泛應(yīng)用。作為PLC的重要組成部分,定時器在其中扮演著
    的頭像 發(fā)表于 06-18 11:55 ?4111次閱讀

    關(guān)于定時器觸發(fā)ADC連續(xù)采樣dma傳輸?shù)囊蓡柷蠼猓?/a>

    。 我想問兩個問題: 第一:我上述的采樣思路是否存在錯誤,因為我這幾天寫該程序的時候,從會有各種bug導(dǎo)致ESP32-S2重啟(多數(shù)為開門狗超時) 第二:stm32具有定時器觸發(fā)連續(xù)采樣的功能,我更想
    發(fā)表于 06-14 07:25
    主站蜘蛛池模板: 国产免费私拍一区二区三区 | 四虎永久在线免费观看 | 久草视频在线免费看 | 天天干天天操天天舔 | 日本巨黄视频 | 一区二区三区欧美在线 | 亚洲视频在线一区二区 | 绝色村妇的泛滥春情 | 丝袜美女被 | 午夜网站在线播放 | 欧美天天色 | aa2424在线视频看片 | 美女视频黄色的免费 | 全国男人的天堂网站 | 欧美亚洲在线 | 一区二区三区四区精品 | 特黄色片| 天天透天天操 | 四虎在线最新永久免费播放 | 噜噜噜天天躁狠狠躁夜夜精品 | 国产美女视频爽爽爽 | 女69porin18| 女人的天堂网站 | 福利视频亚洲 | 狠狠色丁香婷婷综合最新地址 | 成人夜夜嗨 | 爽好舒服老师快点 | 快乐你懂的在线视频免费观看 | 国产区亚洲区 | 天天透天天射 | 欧美日本一区 | 国产最好的精华液网站 | 久久www成人看片 | 日韩亚射吧 | 免费永久视频 | 亚洲伊人久久综合影院2021 | 亚洲伊人久久大香线蕉结合 | 免费在线播放视频 | 久久久久88色偷偷免费 | 日本在线视频一区 | 天天添 |