日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

STM32H743+CubeMX-定时器TIM输出PWM(Output Compare模式)

發布時間:2025/3/15 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 STM32H743+CubeMX-定时器TIM输出PWM(Output Compare模式) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 一、前言
  • 二、CubeMX
    • 2.1、Clock Configuration
    • 2.2、TIM8 Mode and Configuration
    • 2.3、Parameter Settings
      • Counter Settings
      • Output Compare Channel1 與 Output Compare Channel2
      • 其他
    • 2.4、生成代碼
  • 三、代碼
    • 3.1、tim.c
    • 3.2、燒寫代碼
  • 四、示波器
  • 五、細節補充

相關筆記:
STM32H743+CubeMX-定時器TIM輸出PWM(PWM Generation模式)
STM32H743+CubeMX-低功耗定時器LPTIM輸出PWM波

一、前言

PWM波形在實際工作上有非常廣泛的使用,尤其在步進電機控制與LED陣列的控制。使用定時器的輸出比較模式(使用定時器的PWM模式也可以)讓TIM8的通道1與通道2產生PWM波形,如下圖所示,PWM波形的頻率5kHz。
通道1與通道2的PWM關系是非對稱關系,相當于互斥。
當通道1為高電平時,通道2為低電平。
當通道1為低電平時,通道2為高電平。

二、CubeMX

2.1、Clock Configuration

根據《STM32H7x3編程參考手冊》第102頁,TIM8的時鐘源是APB2。當前工程上APB2的時鐘頻率是240M(后續用于計算PWM的周期)。

2.2、TIM8 Mode and Configuration

選擇TIM8,然后使能通道1與通道2,其他選項不用管。

2.3、Parameter Settings

Counter Settings

TIM8的溢出頻率=240M / ( Counter Period + 1 ) / ( Prescaler + 1 ),如下圖所示,TIM8的溢出頻率 = 240M / 24000 / 1 = 10kHz。 周期T = 1 / f = 1 / 10k = 100us。
所以TIM8的溢出頻率是10kHz,周期T是100us。

Output Compare Channel1 與 Output Compare Channel2

Mode使用Toggele on match(即定時器ARR寄存器溢出就翻轉電平),因為通道1與通道2的PWM是非對稱關系,所以通道1的CH Polarity與通道2的CH Polarity需取反。

其他

其他配置都不用管,默認。

2.4、生成代碼

選擇生成代碼的方式。

三、代碼

3.1、tim.c

在函數MX_TIM8_Init(void)下添加用戶代碼,調用函數HAL_TIM_OC_Start( )啟動每一個通道的PWM輸出。

3.2、燒寫代碼

編譯,燒寫代碼,接著使用示波器檢測PC6與PC7即可。

四、示波器

在2.3章節將Counter Period設為23999,從而使TIM8的溢出頻率為10kHz。從下圖看到PWM波的頻率不是10kHz,而是5kHz。為什么頻率變成原來的1/2?
原因是Output Compare的Mode為Toggle on match。意思是定時器每溢出1次,就翻轉電平1次。電平翻轉2次才算是PWM波形,所以PWM波的頻率 = TIM8溢出頻率 / 2 = 10kHz / 2 = 5kHz。
所以,使用輸出比較模式產生PWM波時,關鍵是弄明白Counter Period的值與APB2頻率是如何影響定時器產生PWM波的頻率。

五、細節補充

  • Output Compare模式產生PWM波沒那么容易修改占空比,因為參數Pulse不起作用。在PWM Gernation模式下,由Counter Period與Pulse參數共同決定了PWM的頻率與占空比。
  • Output Compare模式產生PWM波的頻率并不是定時器ARR寄存器溢出的頻率,而是ARR寄存器溢出頻率的一半,PWM Gernation模式產生PWM波的頻率就是定時器ARR寄存器溢出的頻率,要區分開。
  • 總結

    以上是生活随笔為你收集整理的STM32H743+CubeMX-定时器TIM输出PWM(Output Compare模式)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。