STM32H743+CubeMX-定时器TIM输出PWM(PWM Generation模式)
文章目錄
- 一、前言
- 二、CubeMX
- 2.1、Clock Configuration
- 2.2、TIM8 Mode and Configuration
- 2.3、Parameter Settings
- Counter Settings
- PWM Generation Channel1 與 PWM Generation Channel2
- 其他
- 2.4、生成代碼
- 三、代碼
- 3.1、tim.c
- 3.2、燒寫代碼
- 四、示波器
相關(guān)筆記:
STM32H743+CubeMX-定時(shí)器TIM輸出PWM(Output Compare模式)
STM32H743+CubeMX-低功耗定時(shí)器LPTIM輸出PWM波
一、前言
PWM波形在實(shí)際工作上有非常廣泛的使用,尤其在步進(jìn)電機(jī)控制與LED陣列的控制。使用定時(shí)器的PWM產(chǎn)生模式讓TIM8的通道1與通道2產(chǎn)生PWM波形,如下圖所示,PWM波形的頻率10kHz。
通道1與通道2的PWM關(guān)系是非對(duì)稱關(guān)系,相當(dāng)于互斥。
當(dāng)通道1為高電平時(shí),通道2為低電平。
當(dāng)通道1為低電平時(shí),通道2為高電平。
二、CubeMX
2.1、Clock Configuration
根據(jù)《STM32H7x3編程參考手冊(cè)》第102頁(yè),TIM8的時(shí)鐘源是APB2。當(dāng)前工程上APB2的時(shí)鐘頻率是240M(后續(xù)用于計(jì)算PWM的周期)。
2.2、TIM8 Mode and Configuration
使用TIM8,使能通道1與通道2為PWM模式。
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。
PWM Generation Channel1 與 PWM Generation Channel2
Counter Period是24000 - 1 , Pulse 是 12000 -1 ,所以占空比為50%。根據(jù)實(shí)際使用調(diào)整Pulse的值,就能改變占空比。
其他
不用管。
2.4、生成代碼
三、代碼
3.1、tim.c
在函數(shù)void MX_TIM8_Init(void)里添加用戶代碼,調(diào)用HAL_TIM_PWM_Start()開(kāi)啟PWM輸出。
3.2、燒寫代碼
編譯,燒寫代碼,接著使用示波器檢測(cè)PC6與PC7即可。
四、示波器
從下圖看到,PWM波形的頻率是10kHz,符合2.3章節(jié)所計(jì)算的頻率。跟Output Compare模式所產(chǎn)生的PWM波頻率不一樣(參考另一篇筆記《基于STM32H743+CubeMX-定時(shí)器TIM輸出PWM(Output Compare模式)》
總結(jié)
以上是生活随笔為你收集整理的STM32H743+CubeMX-定时器TIM输出PWM(PWM Generation模式)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java 创建文件夹_VS Code用来
- 下一篇: STM32H743-梳理ADC模数转换器