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

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

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

3天內不再提示

定時器實現3路時差和占空比可調的波形

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

掃碼添加小助手

加入工程師交流群

有人想實現下面的PWM輸出波形,三路頻率相同,占空比同步可調,且三路輸出波形時差固定為T/3。【下圖中橙色斜線是計數器周期性計數變化曲線示意圖】之前有過類似的話題交流,這里就整個實現過程再做下演示,并盡可能介紹詳細點。

這里使用STM32F302_Nucleo板來實現之。使用STM32常規定時器中的高級定時器TIM1來實現。當然,也并非一定要TIM1,其它支持多通道比較輸出且比較事件能觸發DMA的都可以。

其中,第一路使用TIM1_CH1,使用PWM1輸出模式,第二路使用TIM1_CH2,第三路使用TIM1_CH3,這兩路都使用Match Toggle輸出模式。

在TIM1更新中斷里修改通道1的CCR值,為修改CH2/CH3的CCR值做準備,最終通過CH2/CH3各自的比較事件觸發DMA,依靠DMA寫入CC2和CCR3寄存器而完成修改。注意,此時CH2/CH3通道的CCR寄存器預裝功能必須關閉。

一、基于STM32CubeMx的配置如下:

二、準備相關用戶代碼

主要準備上面幾句,代碼是我基于STM32Cube庫而編寫。

上面的第1/2句清除TIM1的更新中斷標志,有些情況下沒有這兩句會給我們帶來些麻煩或困惑。主要是防止一使能定時器更新中斷或相關DMA請求就進入中斷服務程序或觸發DMA傳輸,更多細節在之前文章中有詳細介紹過。這里就不重復了。

第3句、第4句、第6句功能差不多,開啟相應通道的比較輸出功能,其中開啟了基于CH2/CH3的比較事件的DMA觸發使能,并完成相關配置。

特別提醒第5句,這句是跟庫代碼有關聯的。庫代碼目前在調用定時器的DMA配置時,目前來看應該說有個bug,調用某個通道的DMA配置函數后,需要將狀態改為ready后才能有效調用后續其它通道的DMA配置函數。當然,我們如果不使用Cube庫代碼就不用這句了。

第7句只有TIM1/TIM8高級定時器才需要使用它,開啟TIM1/TIM8的主輸出功能。

另外,準備了跟DMA傳輸有關的兩個內存數組。其中紅色下劃線的數據在實際運行過程中會被動態修改而調整占空比。

在TIM1更新中斷里同步修改各個通道CCR的值,參考代碼如下。其中,Count_Update和i為兩個靜態字節變量。這里每發生256次更新事件后分別對3個通道的CCR值做一次修改。【具體使用中你可以自行根據具體需求來設計,這里僅供演示參考。貼出原始代碼主要是為了幫助理解整個思路。】

三、驗證最后結果。

上面三幅圖是3路PWM輸出信號在不同時間點的截圖,頻率固定,相差固定,占空比在改變。當然,我們也可以通過選擇合適的時間點來修改ARR值及通道2/通道3的初始相位值,以靈活調整輸出波形的頻率與相差。總之,STM32定時器的比較切換模式,再結合DMA的話,是個非常靈活好用的PWM輸出的實現方式,值得研究學習下。

當然,如果使用3個定時器建立主從關系,各拿出一個通道來實現上述輸出也很方便。有興趣的話,也可以試試。

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

    關注

    116

    文章

    5482

    瀏覽量

    219146
  • STM32
    +關注

    關注

    2293

    文章

    11031

    瀏覽量

    364304
  • 定時器
    +關注

    關注

    23

    文章

    3298

    瀏覽量

    118735

原文標題:一個定時器實現3路時差和占空比可調的波形

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【沁恒CH585開發板免費試用體驗】定時器操作

    與GPIO有掛鉤使得它可以發揮強大的作用,比如可以輸出不同頻率、不同占空比的方波信號、PWM信號,同時做為輸入捕獲功能時,可以測量脈沖寬度、實現電容按鍵檢測等等。 CH585有4 個 26 位定時器
    發表于 07-05 23:06

    MCU定時器/計數

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

    【S32K 進階之旅】如何使用 S32K3 PIT 定時器實現精準延時?

    周期中斷定時器(PeriodicInterruptTimer,PIT)模塊顧名思義,就是通過計時行為引發周期性中斷事件的觸發。本文基于S32K312開發板實現延時功能,在此之前先簡單介紹下PIT
    的頭像 發表于 03-10 16:33 ?701次閱讀
    【S32K 進階之旅】如何使用 S32K<b class='flag-5'>3</b> PIT <b class='flag-5'>定時器</b><b class='flag-5'>實現</b>精準延時?

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

    都能隨時控制改變的那種,頻率和占空比方面可以控制了,但是兩個波形的相位差還沒有做好。之前是用了兩個定時器,通過使能定時器的時間不同實現的,那
    發表于 03-07 08:20

    BUCK電路占空比對電流波形的影響

    BUCK電路的占空比對電流波形具有顯著的影響。以下是對這一影響的分析: 一、占空比對電流波形的影響機制 在BUCK電路中,占空比決定了開關管
    的頭像 發表于 12-12 17:08 ?1627次閱讀

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

    CKS32F107xx系列部分定時器在內部是相連的,可用于定時器同步或鏈接,方便用戶配置不同的同步模式,以便在電機控制、數據采集和PWM信號生成等應用中,實現復雜的時間序列和多通道的同步操作。本節課
    的頭像 發表于 11-26 17:51 ?1028次閱讀
    詳解CKS32F107xx系列的<b class='flag-5'>定時器</b>同步功能

    請問PurePath Studio有定時器控件嗎?用AIC3254如何實現毫秒級的定時

    PurePath Studio有定時器控件嗎?用AIC3254如何實現毫秒級的定時
    發表于 10-25 07:26

    燈光定時器自動控制怎么調

    燈光定時器自動控制是一種智能家居設備,它允許用戶設定特定的時間來開啟或關閉燈光,從而實現節能和自動化控制。這種設備通常可以通過物理按鈕、遙控或者智能手機應用程序來設置。 燈光
    的頭像 發表于 10-17 14:13 ?4062次閱讀

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

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

    如何在MSP430?上實現內置振蕩的高精度定時器

    電子發燒友網站提供《如何在MSP430?上實現內置振蕩的高精度定時器.pdf》資料免費下載
    發表于 09-14 11:10 ?0次下載
    如何在MSP430?上<b class='flag-5'>實現</b>內置振蕩<b class='flag-5'>器</b>的高精度<b class='flag-5'>定時器</b>

    25G/28G重定時器與轉接驅動在常見應用中的最優化實現

    電子發燒友網站提供《25G/28G重定時器與轉接驅動在常見應用中的最優化實現.pdf》資料免費下載
    發表于 09-06 11:26 ?0次下載
    25G/28G重<b class='flag-5'>定時器</b>與轉接驅動<b class='flag-5'>器</b>在常見應用中的最優化<b class='flag-5'>實現</b>

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

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

    定時器的工作方式介紹

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

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

    在微控制編程中,定時器是一種非常常見的功能模塊,用于實現各種定時和計數功能。定時器的工作原理是通過內部的計數
    的頭像 發表于 07-12 10:25 ?1696次閱讀
    主站蜘蛛池模板: 久久成人影视 | 久久国产热 | 国产一区二区三区不卡观 | 欧美在线观看一区二区三 | 色麒麟影院 | 可以直接看的黄色网址 | 久青草免费视频 | 天天操视频 夜夜 | 五月天婷婷网亚洲综合在线 | 一级片 在线播放 | 日韩美女拍拍免费视频网站 | 国产精品久久久久久久免费 | 欧美精品亚洲网站 | 嫩草影院久久国产精品 | 久久国产精品99久久久久久老狼 | 亚洲天堂视频在线观看免费 | 一区二区视频网 | 色一欲一性一乱一区二区三区 | 波多野结衣在线观看一区二区 | 免费黄色在线视频 | 欧美激情二区三区 | 老司机午夜永久在线观看 | 91视频色 | 中文字幕卡二和卡三的视频 | 天天夜干| 乱色伦短篇小说 | 亚洲视频高清 | 亚洲黄色网址在线观看 | 亚洲一区小说区中文字幕 | 色婷婷视频在线观看 | 黄色男人的天堂 | 狠狠色噜噜狠狠狠狠888奇米 | 激情文学亚洲色图 | 成人久久久 | 天天综合亚洲 | 天天干伊人| 国产成人亚洲毛片 | 日韩一级在线播放免费观看 | 婷婷春色 | 2020av在线播放 | 欧美网站在线播放 |