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

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

3天內不再提示

演示STM32中PWM的配置與應用

STM32嵌入式開發(fā) ? 來源:ARM與嵌入式 ? 2023-01-13 10:30 ? 次閱讀

打開CubeMX軟件,新建工程。

d4804d3e-9266-11ed-bfe3-dac502259ad0.png

輸入芯片型號。

d4998948-9266-11ed-bfe3-dac502259ad0.png

根據封裝選擇列表中的芯片,我的是LQFP144封裝,雙擊此項。

d4a8b6de-9266-11ed-bfe3-dac502259ad0.png

在Project Manager選項卡中,配置工程名、編譯工具,如下圖所示。

d4c024c2-9266-11ed-bfe3-dac502259ad0.png

Pinout&Configuration選項卡中,配置System的Debug為Serial Wire,否則可能無法下載程序。

d4d80bbe-9266-11ed-bfe3-dac502259ad0.png

RCC選擇高速外部時鐘。

d4ed7742-9266-11ed-bfe3-dac502259ad0.png

根據電路原理圖,可知LED7對應PC6管腳。

d50aab5a-9266-11ed-bfe3-dac502259ad0.png

d52e0cf8-9266-11ed-bfe3-dac502259ad0.png

本實驗要讓PC6管腳輸出PWM波形,實現LED7呼吸燈效果。

找到PC6,選中TIM3_CH1。

d5705efa-9266-11ed-bfe3-dac502259ad0.png

找到TIM3,通道1配置PWM輸出。

d589b832-9266-11ed-bfe3-dac502259ad0.png

查找STM32參考手冊時鐘圖,找到TIM3時鐘的位置在APB1上。

d5bb96d6-9266-11ed-bfe3-dac502259ad0.png

在CubeMX上配置APB1 Timer定時器時鐘頻率為72MHz。

d5e2b6a8-9266-11ed-bfe3-dac502259ad0.png

配置TIM3_CH1參數,這里涉及到到計算的問題,具體說一下。

d5fffb1e-9266-11ed-bfe3-dac502259ad0.png

如上圖PWM產生原理:

定時器從0開始計數

0-t1時段,輸出低電平

t1-t2時段,輸出高電平

當定時器計數值達到ARR時溢出,完成一個周期

輸出邏輯電平方波,如上圖紅線所示。

PWM頻率計算公式:

PWM頻率 = 定時器時鐘頻率/(AutoReloadRegister + 1)/(PSC + 1)

簡單推導一下PWM頻率是如何計算的:

一個PWM波周期t2的大小,也就是從0計數到ARR所需要的時間,每一個定時器時鐘周期計數一次,總共計數ARR次之后溢出完成一個周期。

d60eef3e-9266-11ed-bfe3-dac502259ad0.png

占空比計算公式:CCRx/ARR。

回到CubeMX工程,TIM3參數設置如下,

ARR=500-1,PSC=72-1,Pulse=170

占空比大概是Pulse/ARR約等于50%,PWM頻率2000Hz。

d6289bf0-9266-11ed-bfe3-dac502259ad0.png

保存,生成代碼。

d655de94-9266-11ed-bfe3-dac502259ad0.png

打開工程。

d6674d00-9266-11ed-bfe3-dac502259ad0.png

在MDK中main.c添加如下代碼。

d68529b0-9266-11ed-bfe3-dac502259ad0.png

主函數比較簡單,i值逐漸增大,占空比隨之增大,LED亮度逐漸增加。

當i值為299時,fx值變?yōu)?,從下一個循環(huán)開始i值開始逐漸減小,占空比隨之減小,過程中LED亮度逐漸減弱。

編譯下載到開發(fā)板,可以看到如下呼吸燈效果。




審核編輯:劉清

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

    關注

    114

    文章

    5196

    瀏覽量

    214402
  • STM32
    +關注

    關注

    2270

    文章

    10918

    瀏覽量

    356821
  • 呼吸燈
    +關注

    關注

    10

    文章

    111

    瀏覽量

    42773

原文標題:STM32中PWM的配置與應用詳解

文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發(fā)】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    STM32CubeMx入門教程(4):PWM應用

    導語“使用STM32CubeMx配置定時器輸出PWM波,生成初始化代碼?!?/div>
    發(fā)表于 07-11 15:23 ?2543次閱讀
    <b class='flag-5'>STM32</b>CubeMx入門教程(4):<b class='flag-5'>PWM</b>應用

    STM32CubeIDE下配置STM32F103輸出帶死區(qū)的互補PWM

    STM32F103的TIM1和TIM8是高級定時器,可以產生嵌入死區(qū)時間的互補PWM波,使用STM32CubeIDE完成相關配置,可以直接生成代碼,輸出帶死區(qū)的
    的頭像 發(fā)表于 11-01 09:41 ?7930次閱讀
    <b class='flag-5'>STM32</b>CubeIDE下<b class='flag-5'>配置</b><b class='flag-5'>STM32</b>F103輸出帶死區(qū)的互補<b class='flag-5'>PWM</b>波

    STM32如何配置PWM死區(qū)時間?

    請問什么是死區(qū)時間呢?我也想知道STM32如何配置PWM死區(qū)時間? 求大神指教!
    發(fā)表于 03-05 07:24

    記錄Rt-ThreadSTM32輸出PWM配置過程

    主要記錄了Rt-Thread STM32 輸出PWM配置過程,通過設置不同頻率PWM使蜂鳴器發(fā)出不同音調
    發(fā)表于 02-15 06:38

    STM32F0xx_ TIM輸出PWM配置詳細過程

    STM32F0xx_TIM輸出PWM配置詳細過程
    的頭像 發(fā)表于 04-07 11:28 ?7738次閱讀
    <b class='flag-5'>STM32</b>F0xx_ TIM輸出<b class='flag-5'>PWM</b><b class='flag-5'>配置</b>詳細過程

    如何在STM32配置PWM死區(qū)時間資料下載

    電子發(fā)燒友網為你提供如何在STM32配置PWM死區(qū)時間資料下載的電子資料下載,更有其他相關的電路圖、源代碼、課件教程、中文資料、英文資料、參考設計、用戶指南、解決方案等資料,希望可以
    發(fā)表于 03-27 08:40 ?29次下載
    如何在<b class='flag-5'>STM32</b><b class='flag-5'>中</b><b class='flag-5'>配置</b><b class='flag-5'>PWM</b>死區(qū)時間資料下載

    STM32G030F6使用CubeMx配置PWM實驗

    1. 使用 CubeMx 創(chuàng)建 PWM 工程打開 CubeMx 軟件,選中我們此次使用的單片機型號 STM32G030F6P6 ,點擊 StartProject.配置定時器配置定時器1
    發(fā)表于 12-05 15:21 ?28次下載
    <b class='flag-5'>STM32</b>G030F6使用CubeMx<b class='flag-5'>配置</b><b class='flag-5'>PWM</b>實驗

    【Rt-Thread】STM32輸出PWM

    主要記錄了Rt-Thread STM32 輸出PWM配置過程,通過設置不同頻率PWM使蜂鳴器發(fā)出不同音調
    發(fā)表于 12-16 16:57 ?17次下載
    【Rt-Thread】<b class='flag-5'>STM32</b>輸出<b class='flag-5'>PWM</b>

    STM32CUBEIDE(11)----輸出PWM及修改PWM頻率與占空比

    本章STM32CUBEMX配置STM32F103輸出PWM,并在示波器查看效果。
    的頭像 發(fā)表于 11-30 14:12 ?1.1w次閱讀
    <b class='flag-5'>STM32</b>CUBEIDE(11)----輸出<b class='flag-5'>PWM</b>及修改<b class='flag-5'>PWM</b>頻率與占空比

    STM32CUBEMX開發(fā)GD32F303(12)----輸出PWM及修改PWM頻率與占空比

    本章STM32CUBEMX配置STM32F103,并且在GD32F303進行開發(fā),同時通過開發(fā)板內進行驗證。 本章主要配置定時器輸出
    的頭像 發(fā)表于 11-30 14:40 ?3935次閱讀
    <b class='flag-5'>STM32</b>CUBEMX開發(fā)GD32F303(12)----輸出<b class='flag-5'>PWM</b>及修改<b class='flag-5'>PWM</b>頻率與占空比

    GD32F303固件庫開發(fā)(12)----輸出PWM及修改PWM頻率與占空比

    本章STM32CUBEMX配置STM32F103,并且在GD32F303進行開發(fā),同時通過開發(fā)板內進行驗證。 本章主要配置定時器輸出
    的頭像 發(fā)表于 11-30 15:36 ?9515次閱讀
    GD32F303固件庫開發(fā)(12)----輸出<b class='flag-5'>PWM</b>及修改<b class='flag-5'>PWM</b>頻率與占空比

    SMT32的PWM波形輸出配置總結

    本文分享STM32PWM波形輸出配置總結。
    的頭像 發(fā)表于 02-22 15:36 ?1658次閱讀

    STM32PWM波形輸出配置的大神總結

    STM32PWM波形輸出配置的大神總結
    的頭像 發(fā)表于 10-24 16:00 ?3852次閱讀
    <b class='flag-5'>STM32</b>的<b class='flag-5'>PWM</b>波形輸出<b class='flag-5'>配置</b>的大神總結

    STM32無法正常輸出PWM信號的原因及解決方法

    PWM(Pulse Width Modulation)脈寬調制技術在嵌入式系統(tǒng)應用廣泛,可以控制電流或電壓的大小,從而實現對電機轉速、亮度等的調節(jié)。然而,在使用STM32系列微控制器時,有時會遇到
    的頭像 發(fā)表于 01-02 17:38 ?1w次閱讀

    PWM輸出配置方法

    從上節(jié)課的定時器分類圖中我們了解到,互補輸出是高級定時器(TIM1、TIM8)所獨有的,它可以輸出兩路互補信號。而在本節(jié)課我們將通過一個簡單的例程去介紹如何配置互補PWM輸出,同時為了演示
    的頭像 發(fā)表于 11-04 09:44 ?1162次閱讀
    <b class='flag-5'>PWM</b>輸出<b class='flag-5'>配置</b>方法