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

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

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

3天內不再提示

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

CHANBAEK ? 來源:上下求索電子er ? 作者:上下求索電子er ? 2023-10-24 15:32 ? 次閱讀

定時器PWM輸出功能

1 PWM工作原理

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

1.1 PWM信號的兩個基本參數

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

1.2 PWM信號的電壓調節原理

圖片

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

1.3 定時器通道結構

圖片

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

1.4 功能單元的作用

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

1.5 PWM輸出的工作原理

圖片

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

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

圖片

2 PWM功能的數據類型和接口函數

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:遞增計數時,當TIMx_CNT (當前計數值)
  • PWM模式2:遞增計數時,當TIMx_CNT (當前計數值)

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

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

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

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

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

接口函數:

  1. 定時器PWM輸出啟動函數:HAL_TIM_PWM_Start

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

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

任務實踐

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

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

  1. 配置定時器2時鐘源為內部時鐘 (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 */
    
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5390

    瀏覽量

    121901
  • PWM
    PWM
    +關注

    關注

    114

    文章

    5211

    瀏覽量

    215835
  • STM32
    +關注

    關注

    2276

    文章

    10947

    瀏覽量

    359163
  • 定時器
    +關注

    關注

    23

    文章

    3259

    瀏覽量

    115890
  • 脈沖寬度調制

    關注

    7

    文章

    81

    瀏覽量

    13834
收藏 人收藏

    評論

    相關推薦

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

    轉速等。 本篇先介紹 定時器基礎知識 ,然后對照這些知識介紹一下 定時器輸出PWM的基本原理
    的頭像 發表于 06-17 00:11 ?1.2w次閱讀
    電機控制<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定時器分類眾多,按照內核、外核標準分為兩部分:核內定時器+核外定時器
    的頭像 發表于 07-21 14:51 ?5235次閱讀
    <b class='flag-5'>STM32</b><b class='flag-5'>定時器</b>(一)<b class='flag-5'>PWM</b><b class='flag-5'>輸出</b>

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

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

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

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

    定時器基礎知識

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

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

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

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

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

    stm32定時器中斷程序

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

    如何通過STM32定時器輸出PWM

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

    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的每個引腳都有其自帶的特殊功能,有定時器輸出功能的引腳可以輸出
    發表于 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'>基礎知識</b>與<b class='flag-5'>PWM</b><b class='flag-5'>輸出</b>原理

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

    STM32F103微控制定時器分為系統定時器(SysTick)、“看門狗”定時器(WatchDog)、基本
    的頭像 發表于 07-03 17:08 ?4094次閱讀
    <b class='flag-5'>STM32</b>F03<b class='flag-5'>定時器</b><b class='flag-5'>基礎知識</b>基本簡介
    主站蜘蛛池模板: 0951影音在线 | 精品久久久麻豆国产精品 | 公粗挺进了我的密道在线播放贝壳 | 精品一成人岛国片在线观看 | 最近中文字幕免费高清MV视频 | 国内精品免费视频精选在线观看 | 久久国产精品麻豆AV影视 | 国产亚洲精品久久孕妇呦呦你懂 | 国产免费啪嗒啪嗒视频看看 | 久久综合中文字幕佐佐木希 | 小雪奶水涨翁工帮吸的推荐语录 | 精品欧美一区二区三区久久久 | brazzers欧美最新版视频 | 精品无码国产自产在线观看 | 天天摸夜添狠狠添高 | 搞av.com| 年轻的女职工在线观看 | qvod 在线电影 | 有码 亚洲 制服 国产 在线 | 影音先锋影院中文无码 | 亚洲一区二区女搞男 | 国产a级午夜毛片 | 丰满五十老女人性视频 | 丰满少妇69激懒啪啪无码 | 97人人碰免费视频公开 | 国产AV国片精品无套内谢无码 | 老湿机一区午夜精品免费福利 | 日本无码毛片一区二区手机看 | 国产亚洲精品久久久久小 | 久久精品午夜一区二区福利 | 国产成人精品免费视频大 | 国产VA精品午夜福利视频 | 无码人妻视频又大又粗欧美 | 亚洲精品天堂无码中文字幕影院 | 欧美精品久久久久性色AV苍井 | 99er久久国产精品在线 | 真实国产熟睡乱子伦对白无套 | 嗯别插太快好深再深点 | 美国z0069| 亚洲字幕久久 | 国产蜜臀AV在线一区视频 |