chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

STM32基礎知識:定時器的PWM輸出功能

CHANBAEK ? 來源:上下求索電子er ? 作者:上下求索電子er ? 2023-10-24 15:32 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

定時器PWM輸出功能

1 PWM工作原理

脈沖寬度調(diào)制(PWM:Pulse Width Modulation)是一種對模擬信號電平進行數(shù)字編碼的方法。廣泛應用于電機控制、燈光的亮度調(diào)節(jié)、功率控制等領域。

1.1 PWM信號的兩個基本參數(shù)

  • 周期(Period): 一個完整PWM波形所持續(xù)的時間
  • 占空比(Duty): 高電平持續(xù)時間(Ton)與周期時間(Period)的比值

1.2 PWM信號的電壓調(diào)節(jié)原理

圖片

  • 不同占空比的PWM信號等效于不同的平均電壓
  • 平均電壓 = 峰值 x 占空比

1.3 定時器通道結構

圖片

  • 時基單元工作于定時模式,預分頻時鐘CK_PSC等于定時器時鐘TIMx_CLK。
  • 每個定時器具備1~4個獨立的通道,各個通道具有獨立的 輸入捕獲單元捕獲/比較寄存器輸出比較單元 ,但共享同一個時基單元。
  • x表示定時器編號,每個通道有對應的GPIO引腳作為通道的輸入/輸出引腳,每個通道可以選擇作為輸入捕獲或者輸出比較功能,但是只能二選一。

1.4 功能單元的作用

  • 輸入捕獲單元: 用于捕獲外部觸發(fā)信號,捕獲方式為上升沿/下降沿/雙邊沿捕獲。發(fā)生捕獲事件時,將此刻計數(shù)器的值鎖存到捕獲比較寄存器中,供用戶讀取,同時可以產(chǎn)生捕獲中斷。
  • 捕獲/比較寄存器: TIMx_CCR寄存器在輸入捕獲模式下用于存放發(fā)生捕獲事件時的當前計數(shù)值;在輸出比較模式下用于存放預設的比較值。該寄存器具備預裝載功能。
  • 輸出比較單元: 用于信號輸出。定時器通過將預設的比較值與計數(shù)器的值做匹配比較,以實現(xiàn)各類輸出,如PWM輸出、單脈沖輸出等。預設的比較值存放在捕獲/比較寄存器中。

1.5 PWM輸出的工作原理

圖片

  • 實例:假設預分頻時鐘CK_PSC為100MHz,產(chǎn)生周期為1ms,占空比為47.5%的PWM信號。Period = 1ms,可以設置 PSC = 99,ARR = 999,Duty = 47.5%,則 CRR = 475。

定時器的每個通道都可以輸出PWM信號,對于同一個定時器而言,它的多個通道共享同一個自動重載寄存器,因此可以輸出占空比不同,但周期相同的PWM信號。

圖片

2 PWM功能的數(shù)據(jù)類型和接口函數(shù)

2.1 輸出比較單元

圖片

成員變量:

輸出比較模式:成員變量OCMode的取值范圍

宏常量定義含義
IM_OCMODE_TIMING輸出比較凍結模式,匹配時無通道輸出
TIM_OCMODE_ACTIVE輸出比較凍結模式,匹配時無通道輸出
TIM_OCMODE_INACTIVE匹配時設置通道輸出為無效電平
TIM_OCMODE_TOGGLE匹配時設置通道輸出電平翻轉
TIM_OCMODE_PWM1PWM輸出模式1
TIM_OCMODE_PWM2PWM輸出模式2
TIM_OCMODE_FORCED_ACTIVE不進行匹配,強制通道輸出為有效電平
TIM_OCMODE_FORCED_INACTIVE不進行匹配,強制通道輸出為無效電平
  • PWM模式1:遞增計數(shù)時,當TIMx_CNT (當前計數(shù)值)
  • PWM模式2:遞增計數(shù)時,當TIMx_CNT (當前計數(shù)值)

有效電平極性:成員變量OCPolarity的取值范圍

宏常量定義含義
TIM_OCPOLARITY_HIGH輸出有效電平為高電平
TIM_OCPOLARITY_LOW輸出有效電平為低電平

快速輸出使能:成員變量OCFastMode的取值范圍

宏常量定義含義
TIM_OCFAST_DISABLE不使能快速輸出模式
TIM_OCPOLARITY_LOWTIM_OCFAST_ENABLE使能快速輸出模式

可以加快觸發(fā)輸入事件對通道輸出的影響,默認配置為不使能

接口函數(shù):

  1. 定時器PWM輸出啟動函數(shù):HAL_TIM_PWM_Start

    函數(shù)原型HAL_StatusTypeDef HAL_TIM_PWM_Start(TIM_HandleTypeDef *htim, uint32_t Channel)
    功能描述在輪詢方式下啟動PWM信號輸出
    入口參數(shù)htim:定時器句柄的地址
    返回值HAL狀態(tài)值
    注意事項1. 該函數(shù)在定時器初始化完成之后調(diào)用2. 函數(shù)需要由用戶調(diào)用,用于啟動定時器的指定通道輸出PWM信號
  2. 定時器比較/捕獲寄存器設置函數(shù): __HAL_TIM_SET_COMPARE

    函數(shù)原型__HAL_TIM_SET_COMPARE(__HANDLE__, __CHANNEL__, __COMPARE__)
    功能描述設置捕獲/比較寄存器TIMx_CCR的值。在PWM輸出時, 用于改變PWM 信號的占空比
    入口參數(shù)HANDLE : 定時器句柄的地址__CHANNEL__: 定時器通道號, 取值范圍是TIM_CHANNEL_1 ~TIM_CHANNEL_4__COMPARE__ :寫入捕獲/比較寄存器TIMx_CCR的值
    返回值
    注意事項1. 該函數(shù)是宏函數(shù),進行宏替換,不發(fā)生函數(shù)調(diào)用2. 函數(shù)需要由用戶調(diào)用,用于PWM輸出時,改變PWM信號的占空比

任務實踐

用PWM信號控制發(fā)板上的指示燈LED1。設置PWM周期為 20 ms,占空比從0%開始,步進為20%。遞增到100%后,又從0%開始,并重復整個過程。占空比修改的時間間隔為200ms。

經(jīng)過計算可得,可以取值:PSC=799,ARR=199,CRR從0到200,步進值為40。

  1. 配置定時器2時鐘源為內(nèi)部時鐘 (8MHz),通道1配置為PWM輸出模式,設置PSC=799,ARR199,Pulse設置為0。
    圖片
  2. 編寫代碼
    main.c
    /* USER CODE BEGIN PV */
    uint16_t CCR = 0;
    uint16_t Step = 40;
    /* USER CODE END PV */
    
    /* USER CODE BEGIN 2 */
      HAL_TIM_PWM_Start(&htim2, TIM_CHANNEL_1);
     /* USER CODE END 2 */
    
    /* USER CODE BEGIN 3 */
        for (CCR = 0; CCR <= 200; CCR = CCR + Step)
        {
          __HAL_TIM_SetCompare(&htim2, TIM_CHANNEL_1, CCR);
          HAL_Delay(200);
        }
      }
    /* USER CODE END 3 */
    
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5434

    瀏覽量

    124514
  • PWM
    PWM
    +關注

    關注

    116

    文章

    5521

    瀏覽量

    219424
  • STM32
    +關注

    關注

    2293

    文章

    11032

    瀏覽量

    365016
  • 定時器
    +關注

    關注

    23

    文章

    3298

    瀏覽量

    118959
  • 脈沖寬度調(diào)制

    關注

    7

    文章

    81

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

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

    轉速等。 本篇先介紹 定時器基礎知識 ,然后對照這些知識介紹一下 定時器輸出PWM的基本原理
    的頭像 發(fā)表于 06-17 00:11 ?1.3w次閱讀
    電機控制<b class='flag-5'>基礎知識</b>1—<b class='flag-5'>定時器</b><b class='flag-5'>基礎知識</b>與<b class='flag-5'>PWM</b><b class='flag-5'>輸出</b>原理

    STM32定時器(一)PWM輸出

    STM32定時器分類眾多,按照內(nèi)核、外核標準分為兩部分:核內(nèi)定時器+核外定時器
    的頭像 發(fā)表于 07-21 14:51 ?6246次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>定時器</b>(一)<b class='flag-5'>PWM</b><b class='flag-5'>輸出</b>

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

    轉速等。本篇先介紹定時器基礎知識,然后對照這些知識介紹一下定時器輸出PWM的基本原理,以及編程
    發(fā)表于 06-18 09:21

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

    配置為輸入: CCR1 為上一個輸入捕獲 1 事件 (IC1) 發(fā)生時的計數(shù)值。4 代碼實現(xiàn)與分析上面介紹了定時器基礎知識PWM輸出
    發(fā)表于 07-07 07:00

    定時器基礎知識

    目錄:一、定時器基礎知識二、基本定時器(TIM6和TIM7)三、通用定時器(TIM2~TIM6)1.功能特點2.時鐘源3.時基單元4.輸入捕
    發(fā)表于 08-09 07:30

    定時器基礎知識PWM輸出原理介紹

    上篇電機控制基礎——定時器基礎知識PWM輸出原理介紹了定時器輸出
    發(fā)表于 01-20 08:23

    定時器基礎知識PWM輸出原理是什么

    轉速等。本篇先介紹定時器基礎知識,然后對照這些知識介紹一下定時器輸出PWM的基本原理,以及編程
    發(fā)表于 01-25 08:16

    stm32定時器中斷程序

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

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

    ? 本文將介紹通過STM32定時器輸出PWM,如果對定時器不太熟悉的同學可以看下之前的文章《STM32
    的頭像 發(fā)表于 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的基本原理,以及編
    的頭像 發(fā)表于 04-05 10:35 ?1.5w次閱讀
    淺談<b class='flag-5'>定時器</b><b class='flag-5'>基礎知識</b>與<b class='flag-5'>PWM</b><b class='flag-5'>輸出</b>原理

    [STM32]通用定時器的使用

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

    STM32-通用定時器-PWM輸出

    1 通用定時器PWM概述1.1STM32定時器輸出通道引腳這里以TIM3為例來講解。STM32
    發(fā)表于 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的每個引腳都有其自帶的特殊功能,有定時器輸出功能的引腳可以輸出
    發(fā)表于 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的基本原理,以及編程
    發(fā)表于 11-30 14:21 ?38次下載
    電機控制基礎——<b class='flag-5'>定時器</b><b class='flag-5'>基礎知識</b>與<b class='flag-5'>PWM</b><b class='flag-5'>輸出</b>原理

    STM32F03定時器基礎知識基本簡介

    STM32F103微控制定時器分為系統(tǒng)定時器(SysTick)、“看門狗”定時器(WatchDog)、基本
    的頭像 發(fā)表于 07-03 17:08 ?4701次閱讀
    <b class='flag-5'>STM32</b>F03<b class='flag-5'>定時器</b><b class='flag-5'>基礎知識</b>基本簡介