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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32定時器主從級聯的應用示例分享

茶話MCU ? 來源:茶話MCU ? 作者:Miler ? 2021-11-26 11:45 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在STMCU中文社區有人咨詢了類似下面的應用問題,有部分需求如下:

1.發送12個周期為500ns的脈沖(高電平200ns,低電平300ns),每隔4us發送一次,共計三次(36個脈沖,每12個脈沖之間間隔4us)。

2.在第一步中的每段12個脈沖的上升沿時,訪問GPIO口,共計12個,三次共計36個。相關時序圖如下:

384a2dec-4ddc-11ec-9eda-dac502259ad0.png

這里,我們就該問題的部分需求聊聊它的大致實現。先整理下需求:

連續三組12個周期為500ns的指定個數的小脈沖;

一個固定時間間隔10us(含12個脈沖本身的時間);

每個小脈沖對應1次GPIO的訪問;

顯然,我們一般會很自然地想到通過TIMER來完成,可以使用1個TIMER,也可以通過2個TIMER來完成。

如果使用1個TIMER,我們可以考慮使用更新事件對脈沖個數的統計及時間間隔的控制,同時基于比較事件或更新事件來觸發DMA來實行對GPIO的訪問。不過,這里每個脈沖周期為500ns,勢必會發生頻繁進入更新中斷。

如果使用2個TIMER來實現起來就更為方便點。2個TIMER實現主從級聯,各自任務如下安排:

主TIMER做時間間隔的控制,每10us產生一次觸發事件,并開啟更新事件中斷,每發生3次更新事件即為一個大周期,后續啟動根據其它條件定,此處不表。

從ITMER工作在觸發從模式,同時選擇它的某一通道做PWM輸出,并工作在單脈沖模式,同時每個脈沖的比較事件觸發一次DMA實現GPIO與內存間的傳輸。

基于上面的需求及規劃,下面簡單介紹下實現過程。我們選用STM32G4系列的Nucleo板【Nucleo-G431RB】來進行驗證測試。

選擇TIM1工作在從模式,輸出脈沖的比較事件觸發DMA完成對GPIO的訪問。DMA每傳輸12個數據后進入DMA傳輸完成中斷,并進行相關數據處理。令TIM3工作在主模式,它的計時周期為10us,每個周期產生一次更新事件作為觸發輸出并與TIM1的觸發輸入相連,作為TIM1的啟動觸發信號

通過查看STM32G4系列參考手冊,我們可以得到如下片內定時器互聯信號表。TIM3的TRGO信號可以作為TIM1的觸發輸入通道2的輸入信號。

389a4174-4ddc-11ec-9eda-dac502259ad0.png

下面我們使用CubeMx進行配置。先看TIM1的相關配置【定時器計數時鐘為10MHz】:

3903d45e-4ddc-11ec-9eda-dac502259ad0.png

39914e4c-4ddc-11ec-9eda-dac502259ad0.png

39f5c20a-4ddc-11ec-9eda-dac502259ad0.png

再看看看TIM3的基本配置:

3a5e6396-4ddc-11ec-9eda-dac502259ad0.png

完成相關初始化配置后創建工程,然后添加必要的用戶代碼。代碼很簡單,開啟TIM1通道的pwm輸出,使能TIM1-ch1比較事件的DMA觸發功能,調用相關DMA功能函數,啟動TIM3的計數器。

3ace4bd4-4ddc-11ec-9eda-dac502259ad0.png

其中,TIM_DMAcptPro()為DMA傳輸完成中斷的回調函數,負責做相關數據的處理。TIM1的啟動靠TIM3的更新事件來觸發實現。

稍作編譯調試即可看到如下結果:

黃色的信號為TIM1周期的脈沖輸出,小脈沖間的間隔為4us.

藍色信號為通過DMA寫到GPIO的數據,高、低電平均代表一個數據。這些只是模擬下操作過程。

顯然,當弄清實現原理后,基于CubeMx進行配置,整個過程實現起來還是比較簡單的。這里需要我們對定時器的主從級聯、定時器各類事件、比較輸出的單脈沖模式的特性及對DMA運用有些了解。上面主要演示基于定時器主從模式的實現過程,更多細節還得閱讀相關技術手冊。

最后提醒個地方,現在是TIM3的更新事件去觸發啟動TIM1,顯然第一次啟動TIM1時需等待TIM3一個計數周期,如果不希望這樣的話,我們也可以在TIM3啟動的同時啟動TIM1計數,只需在啟動TIM3的同時手動產生個更新事件來實現。

編輯:jq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 定時器
    +關注

    關注

    23

    文章

    3298

    瀏覽量

    118761
  • dma
    dma
    +關注

    關注

    3

    文章

    576

    瀏覽量

    103124
  • 代碼
    +關注

    關注

    30

    文章

    4899

    瀏覽量

    70623
  • GPIO
    +關注

    關注

    16

    文章

    1280

    瀏覽量

    53993

原文標題:STM32定時器主從級聯的又一應用示例

文章出處:【微信號:stmcu832,微信公眾號:茶話MCU】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    stm32H743定時器溢出的原因?怎么解決?

    我利用定時器更新中斷實現軟件計時,定時時間是固定的按照{10ms, 20ms,650ms, 50ms,50ms}周期性進行的。由于下一次的計時時間是需要在定時器的中斷處理函數中更新的,定時器
    發表于 06-23 08:26

    MCU定時器/計數

    RISC-V核低功耗MCU通過靈活的定時器架構、低功耗模式適配及硬件級中斷優化,在工業控制、智能家居等場景中實現高精度計時與能耗控制的協同設計,滿足復雜任務調度與實時響應的雙重需求?。 一、?硬件
    的頭像 發表于 04-27 13:54 ?273次閱讀

    STM32定時器基本原理及常見問題之培訓資料

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

    STM32Cube配置RTOS時定時器如何選擇?

    STM32Cube配置RTOS時定時器如何選擇
    發表于 03-07 08:47

    stm32同一個定時器不同的通道,可以不同時的輸出pwm波形嗎?

    請問,stm32的同一個定時器,不同的通道,可以不同時的輸出pwm波形嗎?比如tim1的ch1輸出,延時幾毫秒后tim1的ch2輸出。 現在是要輸出兩個相位不同的pwm波形,延時時間、頻率、占空比
    發表于 03-07 08:20

    定時器已安排!開發小白看過來~

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

    抄作業!看門狗定時器必備知識

    具體示例解析,教你如何在一個簡單的LuatOS項目中集成看門狗定時器,設置適當的參數來確保系統在正常運行和故障場景下都能自動恢復。 Air201最新資料下載: www.air201.cn ▼ 看門狗簡介 ▼ 看門狗(Watch Dog Timer,WDT)——是一種監控電
    的頭像 發表于 12-30 14:44 ?756次閱讀
    抄作業!看門狗<b class='flag-5'>定時器</b>必備知識

    詳解CKS32F107xx系列的定時器同步功能

    我們將圍繞定時器同步功能概述展開,并以其中一種功能為例——將定時器2給定時器3當預分頻,最終級聯同步PWM輸出。
    的頭像 發表于 11-26 17:51 ?1033次閱讀
    詳解CKS32F107xx系列的<b class='flag-5'>定時器</b>同步功能

    定時器自動控制開關怎么設置

    定時器自動控制開關是一種常見的自動化設備,廣泛應用于家庭、工業、農業等多個領域。通過定時器,用戶可以預設時間,讓設備在特定時間自動開啟或關閉,從而實現節能、提高效率和便利性。 一、定時器
    的頭像 發表于 09-19 16:19 ?4034次閱讀

    LM555-MIL定時器數據表

    電子發燒友網站提供《LM555-MIL定時器數據表.pdf》資料免費下載
    發表于 08-23 10:19 ?1次下載
    LM555-MIL<b class='flag-5'>定時器</b>數據表

    定時器的基本組成和工作模式

    定時器是計算機或電子設備中常見的一個硬件或軟件組件,其主要功能是測量和控制時間的流逝。它在各種應用中起著至關重要的作用,如操作系統調度、多媒體播放、網絡通信、工業自動化控制以及家電設備的定時功能等。定時器的工作原理基于時序控制,
    的頭像 發表于 08-19 18:28 ?2752次閱讀

    stm32f103vct6的高級定時器按通用定時器設置的,為什么沒有輸出?

    用的是Tim8,本來想用tim2作為主定時器控制tim8輸出的,結果就算我把主從去掉了也輸出不了,只看到高電平 用的是老代碼,標準庫,不知道之前也不習慣用高級定時器,不知道是不是有什么東西沒配置 代碼如下 還請各位大佬指點迷津
    發表于 07-23 07:58

    定時器的工作方式介紹

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

    定時器相關的寄存有哪些類型

    在微控制編程中,定時器是一種非常常見的功能模塊,用于實現各種定時和計數功能。定時器的工作原理是通過內部的計數來跟蹤時間的流逝,當計數
    的頭像 發表于 07-12 10:25 ?1702次閱讀
    主站蜘蛛池模板: 成人狠狠色综合 | 天堂网在线免费 | 精品日韩 | 日本黄色a级 | 好吊色7777sao在线视频观看 | 天天做天天爱天天爽 | 久久网综合 | 97蜜桃| 男人j进人女人j 的视频 | 99久久综合给久久精品 | 天天爱天天插 | 在线精品视频成人网 | h网址在线观看 | 欧美性爽xxxⅹbbbb | 豆国产97在线 | 欧洲 | 一区精品视频 | 成人免费看黄网站无遮挡 | 欧美爱爱帝国综合社区 | 色香淫欲| 神马午夜第九 | 亚洲男人天堂网址 | 又色又爽视频 | 四虎影院在线免费观看 | 天天躁日日躁成人字幕aⅴ 天天躁夜夜躁 | 夜夜爱夜夜爽夜夜做夜夜欢 | 欧美黑人粗暴另类多交 | 久久狠色噜噜狠狠狠狠97 | 色多多视频在线播放 | 亚洲日本欧美 | 激情综合丝袜美女一区二区 | 99久久亚洲国产高清观看 | 2018国产一级天天弄 | 美女流白浆网站 | 天堂资源网 | 水果视频色版 | 色偷偷亚洲男人 | 亚洲二区在线 | 狠狠色丁香婷婷综合久久来 | 色咯咯 | 欧美网站在线播放 | 二区三区在线观看 |