色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

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

3天內不再提示

STM32定時器(一)PWM輸出

冬至子 ? 來源:不懂幽默的秦二 ? 作者:diandianmo ? 2023-07-21 14:51 ? 次閱讀

一、 STM32定時器分類眾多,按照內核、外核標準分為兩部分:核內定時器+核外定時器

1)核內定時器:Systick

2)外設定時器:特定應用定時器+常規定時器

3)特定應用定時器:LPTIM,RTC,WTD,HRTIM

4)常規定時器:基本定時器TIM6&TIM7)、通用定時器(TIM2TIM5,TIM9TIM14)、高級定時器(TIM1&TIM8)

【常規定時器:

  1. 基本定時器:計劃沒有任何對外輸入/輸出,常用作時基,實現基本的計數和定時功能。
  2. 通用定時器:除了基本的定時器的時基功能外,還可以對外作輸入捕獲、輸出比較以及連接其他傳感器接口(除了編碼器和霍爾傳感器)
  3. 高級定時器:此類的定時器功能強大,除了具備通用的定時器的功能外,還包含一些與電機控制數字電源應用的相關功能,比方帶死區控制的互補信號輸出、緊急剎車關斷輸入控制?!?/li>

按照計數器的位寬來分:分為3部分

1)16bit定時器

2)32bit定時器(TIM2、TIM5)

3)24bit定時器(Systick)

二、三種 定時器 (高級&通用&基本)區別

對于STM32F4XX,三種定時器(高級、通用、基本)的區別如下表

圖片

根據以上表格,可以看出

1)高級定時器(TIM1&TIM8)是16bit,支持向上、向下、向上/向下計數模式,可以產生DMA請求,捕獲/比較通道有4個,支持互補輸出(帶可編程死區的互補輸出)

2)通用定時器又分為三種,32bit(TIM2&TIM5)和16bit(TIM3&TIM4),這兩種支持向上、向下、向上/向下計數模式,且都可以產生DMA請求,捕獲/比較通道4個,16bit(TIM9TIM14)只能向上計數,不能產生DMA請求,捕獲/比較通道只有2個,沒有這三種都無互補輸出,都能應用于定時器技術,PWM輸出,輸入捕獲,輸出比較??梢哉J為TIM9TIM14是TIM2&TIM5&TIM3&TIM4的簡單版本。

3)基本定時器(TIM6&TIM7)是16bit,支持向上、向下、向上/向下計數,可以產生DMA請求,沒有捕獲/比較通道和互補輸出,只能用于驅動DAC。

三、通用定時器的特性(以TIM2.TIM3,TIM4.TIM5為例)

1)16bit/32bit遞增、遞減、遞增/遞減(中心對齊)計數模式,自動重載計數器;

2)16bit可編程預分頻器(可實時修改),用于對計數器時鐘進行分頻,分頻系數介于1~65535之間;

3)多達4個獨立通道

--輸入捕獲

--輸出比較

--PWM生成(邊沿和中心對齊模式)

--單脈沖模式輸出

4)可使用外部信號(TIMx_ETR)控制定時器和定時器互連(可以用1個定時器控制另外一個定時器)同步電路

5)如下事件發生時,可以產生中斷/DMA請求(6個獨立的IRQ/DMA請求生成器)

  1. 更新:計數器向上溢出/向下溢出,計數器初始化(通過軟件或內部/外部觸發)
  2. 觸發事件(計數器啟動、停止、初始化或由內部/外部觸發計數)
  3. 輸入捕獲
  4. 輸出比較
  5. 會吃針對定位的增量(正交)編碼器和霍爾傳感器電路
  6. 觸發輸入作為外部時鐘或按周期的電流管理

6)STM32的通用定時器可以被用于:測量輸入信號的脈沖長度(輸入捕獲)或者產生輸出波形(輸出比較和PWM)

7)使用定時器預分頻器和RCC時鐘控制器預分頻器,脈沖長度和波形周期可以在幾個us到幾個毫秒之間調整。SMT32的每個通用定時器都是完全獨立的,沒有互相共享的任何資源。

四、計數器模式

通用定時器可以向上、向下、向上/向下雙向計數模式

  • 向上計數模式:計數器從0計數到自動加載值(TIMx_ARR),然后重新從0開始計數并且產生一個計數器向上溢出事件
  • 向下計數模式:計數器從自動裝入的值(TIMx_ARR)向下計數到0,然后從自動裝入的值重新開始,并產生一個計數器向下溢出事件
  • 向上/向下雙向計數模式(中央對齊模式)

圖片

五、定時器框圖分析

圖片

框圖可以分為以下4個部分

第一部分:定時器時鐘源

定時器時鐘可由下列時鐘源提供:

  • 內部時鐘(CK_INT)(內部RCC提供的時鐘)
  • 外部時鐘模式1:外部輸入引腳(TIx)
  • 外部時鐘模式2:外部觸發輸入(ETR),僅適用于TIM2,TIM3,TIM4
  • 內部觸發輸入(ITRx):使用一個定時器作為另外一個定時器的預分頻器,例如可以將定時器配置為定時器2的預分頻器

第二部分:時基單元 :主要包括預分頻寄存器(TIMx_PSC)、自動重裝載寄存器(TIMx_ARR)、計數器寄存器(TIMx_CNT)

第三部分:輸入捕獲通道

第四部分:輸出比較通道

六、PWM輸出

PWM輸出主要用到定時器框圖中的第四部分:時基單元和輸出比較通道

PWM工作過程(通道1為例)

圖片

CCR1:捕獲/比較值寄存器(x=1,2,3,4),設置比較值

CCMR1:OC1M[2:0]位:對于PWM方式下,用于設置PWM模式1【110】或PWM模式2【111】

CCER:CC1P位:捕獲/比較1輸出極性,0:高電平有效,1:低電平有效

CCER:CC1E位:捕獲/比較1輸出使能,0:OC1關閉,1:OC1打開

PWM模式1;在遞增計數模式下,只要 TIMx_CNTTIMx_CCR1,通道 1 便為無效狀態 (OC1REF=0),否則為有效狀態 (OC1REF=1)。

PWM模式2:在遞增計數模式下,只要 TIMx_CNTTIMx_CCR1,通道 1 便為有效狀態,否則為無效狀態。
注意:在 PWM 模式 1 或 PWM 模式 2 下,僅當比較結果發生改變或輸出比較模式由“凍結”模式切換到“PWM”模式時, OCREF 電平才會發生更改

如下圖就是PWM模式2的例子

圖片

當配置某個IO口為PWM1模式,TIMx_CNT=TIM_CCR1,通道1有效,輸出高電平。

PWM模式本質是可以產生一個由TIMx_ARR寄存器確定頻率,由TIMx_CCRx寄存器確定占空比的信號。在TIMx_CCMRx寄存器中的OCxM位寫入"110-PWM模式1","111-PWM模式2",能夠獨立地設置每個OCx輸出通道產生一路PWM,必須設置TIMx_CCMRx寄存器OCxPE位以使能相應的預裝載寄存器,最好還要設置TIMx_CR1寄存器的ARPE位,(在向上計數或中心對稱模式中)使能自動重裝載的預裝載寄存器。

注意:此處提到的“ 必須設置TIMx_CCMRx寄存器OCxPE位以使能相應的預裝載寄存器.. .”目的是滿足一些特殊的需求,使能預裝載的意義在于可以多個通道同時輸出時,時序能準確地同步。網上的一段有意義的解釋是:設計preload register和shadow register的好處是,所有真正需要起作用的寄存器(shadow register)可以在同一個時間(發生更新事件時)被更新為所對應的preload register的內容,這樣可以保證多個通道的操作能夠準確地同步。如果沒有shadow register,或者preload register和shadow register是直通的,即軟件更新preload register時,同時更新了shadow register,因為軟件不可能在一個相同的時刻同時更新多個寄存器,結果造成多個通道的時序不能同步,如果再加上其它因素(例如中斷),多個通道的時序關系有可能是不可預知的??梢娙绻皇菃瓮ǖ垒敵?,多通道輸出時沒時序精準的同步更新要求,不使能也可以的。

**七、PWM編程
**

1)要求:使用TIM14的PWM功能,輸出頻率不變,占空比變化的PWM波,驅動LED燈,達到LED的亮度由暗變亮,由從亮變暗,如此往復。

2)編程步驟

2-1,使能定時器時鐘和對應的GPIO時鐘,

2-2 初始化IO口為復用功能輸出,并將復用功能映射到對應的定時器

2-3 初始化定時器,ARR,PSC等

2-4 初始化輸出比較參數

2-5 使能預裝載寄存器和ARPE位

2-6 使能定時器

2-7不斷改變比較值CCRx,達到不同的占空比;

圖片

在功能函數中,我們初始化要設置好arr和psc,TIM14采用的APB1(42MHz)經過2倍的倍頻獲得的頻率(84MHz),預分頻系數設置為84,那么PWM的頻率為1MHZ,自動重裝載值arr=500,則PWM的頻率為1MHZ/500=2kHz。

TIM14_PWM_Init(500-1,84-1); //1Mhz的計數頻率,2Khz的PWM.

u16 led0pwmval=0;

u8 dir=1;

pwm_func{

if(dir)led0pwmval++;

else led0pwmval--;	 

if(led0pwmval >300)dir=0;//實測當TIM_CNT大于300時,亮度變化不明顯,故此處設置為300為最亮

if(led0pwmval==0)  dir=1;	   					 

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

    關注

    3568

    文章

    1952

    瀏覽量

    271432
  • STM32F4
    +關注

    關注

    3

    文章

    197

    瀏覽量

    28852
  • 預分頻器
    +關注

    關注

    0

    文章

    19

    瀏覽量

    8268
  • PWM輸出
    +關注

    關注

    1

    文章

    66

    瀏覽量

    5451
  • stm32定時器
    +關注

    關注

    0

    文章

    13

    瀏覽量

    2400
收藏 0人收藏

    評論

    相關推薦
    熱點推薦

    STM32F407 基本定時器配置輸出PWM方波

    介紹STM32F407定時器PWM波形輸出配置方式。 通過邏輯分析采集波形數據進行可視化顯示對比。
    的頭像 發表于 07-06 14:33 ?7320次閱讀
    <b class='flag-5'>STM32</b>F407 基本<b class='flag-5'>定時器</b>配置<b class='flag-5'>輸出</b><b class='flag-5'>PWM</b>方波

    STM32定時器輸出PWM

    STM32定時器輸出PWM(控制LED燈的亮度)STM32
    發表于 08-04 07:21

    定時器輸出PWM實驗

    定時器輸出PWM 實驗 . 實驗目的利用定時器控制產生占空比可變的PWM 波。二. 實驗設備
    發表于 09-22 10:49 ?7589次閱讀

    STM32高級定時器-PWM簡單學習案例

    高級定時器與通用定時器比較類似,下面是個TIM1 的PWM 程序,TIM1是STM32的高
    發表于 04-21 14:47 ?4878次閱讀
    <b class='flag-5'>STM32</b>高級<b class='flag-5'>定時器</b>-<b class='flag-5'>PWM</b>簡單學習案例

    stm32定時器中斷程序

    STM32定時器是個強大的模塊,定時器使用的頻率也是很高的,定時器可以做些基本的定時,還可以
    發表于 10-12 16:59 ?1.4w次閱讀

    STM32單片機如何通過定時器的控制輸出PWM

    STM32F103ZET6里共有8個定時器,其中高級定時器有TIM1-TIM5、TIM8,共6個。 我這里輸出PWM
    發表于 11-22 15:56 ?8637次閱讀
    <b class='flag-5'>STM32</b>單片機如何通過<b class='flag-5'>定時器</b>的控制<b class='flag-5'>輸出</b><b class='flag-5'>PWM</b>

    如何通過STM32定時器輸出PWM?

    ? 本文將介紹通過STM32定時器輸出PWM,如果對定時器不太熟悉的同學可以看下之前的文章《STM32
    的頭像 發表于 02-20 15:08 ?2.3w次閱讀
    如何通過<b class='flag-5'>STM32</b>的<b class='flag-5'>定時器</b><b class='flag-5'>輸出</b><b class='flag-5'>PWM</b>?

    淺談定時器基礎知識與PWM輸出原理

    轉速等。 本篇先介紹定時器的基礎知識,然后對照這些知識介紹一下定時器輸出PWM的基本原理,以及編程實現與代碼分析。 首先來看一下定時器的基礎
    的頭像 發表于 04-05 10:35 ?1.5w次閱讀
    淺談<b class='flag-5'>定時器</b>基礎知識與<b class='flag-5'>PWM</b><b class='flag-5'>輸出</b>原理

    [STM32]通用定時器的使用

    STM32的通用定時器定時輸出PWM功能的使用本次還是使用發光二極管來驗證定時器的使用目錄
    發表于 11-22 19:06 ?24次下載
    [<b class='flag-5'>STM32</b>]通用<b class='flag-5'>定時器</b>的使用

    STM32單片機定時器輸出不同頻率PWM

    ??在使用STM32單片機輸出PWM波形的時候,通??梢灾苯邮褂?b class='flag-5'>定時器提供的PWM模式??梢酝ㄟ^自動重裝載寄存
    發表于 11-23 18:21 ?18次下載
    <b class='flag-5'>STM32</b>單片機<b class='flag-5'>一</b>個<b class='flag-5'>定時器</b><b class='flag-5'>輸出</b>不同頻率<b class='flag-5'>PWM</b>波

    STM32-通用定時器-PWM輸出

    1 通用定時器PWM概述1.1STM32定時器輸出通道引腳這里以TIM3為例來講解。STM32
    發表于 11-26 15:36 ?23次下載
    <b class='flag-5'>STM32</b>-通用<b class='flag-5'>定時器</b>-<b class='flag-5'>PWM</b><b class='flag-5'>輸出</b>

    stm32F051系列 單片機引腳定時器輸出pwm波形控制風扇轉速

    概述:stm32的每個引腳都有其自帶的特殊功能,有定時器輸出功能的引腳可以輸出pwm。如果沒有的也可以io口模擬
    發表于 11-29 14:06 ?15次下載
    <b class='flag-5'>stm32</b>F051系列 單片機引腳<b class='flag-5'>定時器</b><b class='flag-5'>輸出</b><b class='flag-5'>pwm</b>波形控制風扇轉速

    電機控制基礎——定時器基礎知識與PWM輸出原理

    轉速等。本篇先介紹定時器的基礎知識,然后對照這些知識介紹一下定時器輸出PWM的基本原理,以及編程實現與代碼分析。首先來看一下定時器的基礎介紹
    發表于 11-30 14:21 ?38次下載
    電機控制基礎——<b class='flag-5'>定時器</b>基礎知識與<b class='flag-5'>PWM</b><b class='flag-5'>輸出</b>原理

    STM32F407入門開發: 配置定時器輸出PWM方波

    STM32F407的定時器的 TIM6 和 TIM7 是普通定時器,除此之外,其他的定時器都可以用來產生 PWM
    的頭像 發表于 05-28 13:43 ?1.5w次閱讀
    <b class='flag-5'>STM32</b>F407入門開發: 配置<b class='flag-5'>定時器</b><b class='flag-5'>輸出</b><b class='flag-5'>PWM</b>方波

    詳解stm32定時器8輸出PWM

    我在定時器3的例程上面改,改了很久都沒改好,百度看別人說定時器1和定時器8需要額外的指令用于PWM輸出,今天下午硬件的人來要東西了,來不及研
    的頭像 發表于 01-05 11:01 ?7397次閱讀
    主站蜘蛛池模板: 国产精品无码AV天天爽色欲 | 无码人妻99久久密AV | 亚洲乱妇88网| 岛国精品在线观看 | 亚洲三级视频在线观看 | 一二三四视频免费社区5 | 欧美69xxx | 国产精品乱码一区二区三 | 精品在线观看一区 | 男人J进入女人P免费狂躁 | 国产h视频在线观看免费 | 伊人色综合久久天天网 | 国产精品嫩草影院一区二区三区 | 国产亚洲精品久久无码98 | 超碰caoporon最新视频 | 灰原哀被啪漫画禁漫 | 快播h动漫网 | 性做久久久久久久久浪潮 | 宝贝乖女好紧好深好爽老师 | jizz丝袜 | 99久久精品国产一区二区三区 | 久久精品电影网 | 久久婷婷五月免费综合色啪 | 亚洲精品免费在线视频 | 久久99国产精品无码AV | 国产精品成人影院 | 亚洲精品视频免费看 | 日韩一级精品久久久久 | 精品极品三大极久久久久 | 国产高清在线a视频大全 | 久久er国产精品免费观看2 | 中文字幕绝色少妇性 | 亚洲AV精品乱码专区 | 久久久影院亚洲精品 | 性啪啪chinese东北女人 | 有人在线观看的视频吗免费 | 少妇一夜未归暴露妓女身份 | 一本大道无码AV天堂欧美 | 国产精品久久久久久久久久影院 | 亚洲精品国产一区二区贰佰信息网 | 伊人成色综合人网 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品