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

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

3天內不再提示

STM32呼吸燈中PWM的配置與應用詳解

ARM與嵌入式 ? 來源:ARM與嵌入式 ? 2024-04-10 14:55 ? 次閱讀

本文通過呼吸燈實驗,演示STM32中PWM的配置與應用。

打開CubeMX軟件,新建工程。

fed82cca-f677-11ee-a297-92fbcf53809c.png

輸入芯片型號。

feeccaf4-f677-11ee-a297-92fbcf53809c.png

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

fefabb1e-f677-11ee-a297-92fbcf53809c.png

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

ff0ebd76-f677-11ee-a297-92fbcf53809c.png

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

ff235a1a-f677-11ee-a297-92fbcf53809c.png

RCC選擇高速外部時鐘。

ff353438-f677-11ee-a297-92fbcf53809c.png

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

ff4f0e30-f677-11ee-a297-92fbcf53809c.png

ff6094e8-f677-11ee-a297-92fbcf53809c.png

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

找到PC6,選中TIM3_CH1。

ff73b780-f677-11ee-a297-92fbcf53809c.png

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

ff9044fe-f677-11ee-a297-92fbcf53809c.png

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

ff99af1c-f677-11ee-a297-92fbcf53809c.png

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

ffafb122-f677-11ee-a297-92fbcf53809c.png

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

ffd4def2-f677-11ee-a297-92fbcf53809c.png

如上圖PWM產生原理:

定時器從0開始計數

0-t1時段,輸出低電平

t1-t2時段,輸出高電平

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

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

PWM頻率計算公式:

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

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

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

ffeee414-f677-11ee-a297-92fbcf53809c.png

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

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

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

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

0005c4fe-f678-11ee-a297-92fbcf53809c.png

保存,生成代碼。

001ad33a-f678-11ee-a297-92fbcf53809c.png

打開工程。

002b6fc4-f678-11ee-a297-92fbcf53809c.png

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

003aef62-f678-11ee-a297-92fbcf53809c.png

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

當i值為299時,fx值變為1,從下一個循環開始i值開始逐漸減小,占空比隨之減小,過程中LED亮度逐漸減弱。

審核編輯:黃飛

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

    關注

    1273

    文章

    6183

    瀏覽量

    227608
  • PWM
    PWM
    +關注

    關注

    114

    文章

    4935

    瀏覽量

    210444
  • STM32
    +關注

    關注

    2245

    文章

    10688

    瀏覽量

    349615
  • 定時器
    +關注

    關注

    23

    文章

    3154

    瀏覽量

    112429
  • 呼吸燈
    +關注

    關注

    10

    文章

    107

    瀏覽量

    42519

原文標題:詳解STM32呼吸燈的PWM實現

文章出處:【微信號:ARM與嵌入式,微信公眾號:ARM與嵌入式】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于stm32PWM呼吸工程分享

    (NVIC_PriorityGroup_2);//中斷優先級分組分兩組LED_Init();TIM3_CH1_PWM_Init(500,72-1); //頻率是2kHzTIM_SetCompare1(TIM3,i);delay_ms(10); } 全部資料51hei下載地址: 基于
    發表于 07-02 07:51

    基于stm32PWM呼吸工程分享

    (NVIC_PriorityGroup_2);//中斷優先級分組分兩組LED_Init();TIM3_CH1_PWM_Init(500,72-1); //頻率是2kHzTIM_SetCompare1(TIM3,i);delay_ms(10); } 全部資料51hei下載地址: 基于
    發表于 07-06 07:37

    定時器中斷模擬PWM波實現呼吸

    STM32F4XX 學習日志:定時器中斷模擬PWM波實現呼吸前言任務目標解決辦法過程定時器配置標準庫時鐘主頻
    發表于 08-09 09:38

    怎么通過PWM來實現呼吸

    說下我是怎么通過這個PWM來實現呼吸的。硬件的準備就不說了,想實現呼吸的你這個硬件配置肯定是
    發表于 08-11 06:17

    采用定時器PWM功能實現呼吸的功能

    功能實現:采用定時器PWM功能實現呼吸的功能,PWM頻率為1KHz,呼吸周期為1s準備工作:
    發表于 08-12 08:06

    PWM配置例程詳解

    PWM配置例程詳解,測試無誤 硬件平臺:STM32F10XPWM模塊 + JLink + 示波器軟件平臺:Keil 4 一、基礎知識首先,根據芯片的型號,
    發表于 08-23 09:04

    STM32Cube如何配置PWM呼吸?

    STM32Cube如何配置PWM呼吸?
    發表于 11-23 07:17

    STM32 PWM是如何去控制呼吸的程序呢

    PWM的工作原理是什么?STM32 PWM是如何去控制呼吸的程序呢?
    發表于 11-26 07:00

    配置引腳PWM初始化實現簡易呼吸

    目錄API (機翻)函數上機實戰配置引腳PWM初始化,實現簡易呼吸的效果實驗結果完整代碼myPWM.cmyPWM.hmyTask.cmyTask.hmain.cmain.h平臺:Co
    發表于 12-07 07:31

    基于stm32 f103的pwm呼吸程序代碼分享

    基于stm32 f103的pwm呼吸程序代碼分享
    發表于 12-14 07:52

    PWM實現呼吸的應用

    stm32實現PWM最簡單方法前言一、PWM概念二、PWM應用輸出比較功能框圖三、PWM呼吸
    發表于 01-21 13:18

    如何對STM32F030C8T6單片機PWM呼吸的寄存器進行配置

    如何對STM32F030C8T6單片機PWM呼吸的寄存器進行配置呢?其配置步驟有哪些?
    發表于 02-14 07:33

    STM32呼吸的原理是什么

    前段時間學習stm32的時候就做過呼吸實驗,瀏覽了一些博客后,做下總結呼吸原理其實是利用pwm
    發表于 02-21 07:26

    請問一下STM32 PWM是如何去實現呼吸設計的

    STM32 PWM實現呼吸使用STM32F103ZET6 定時器4 CH2通道產生PWM波,在
    發表于 02-21 07:30

    STM32 使用PWM實現呼吸

    STM32 PWM實現呼吸燈使用STM32F103ZET6 定時器4 CH2通道產生PWM波,在GPIOD,GPIO_PIN13引腳LED1
    發表于 12-24 19:41 ?55次下載
    <b class='flag-5'>STM32</b> 使用<b class='flag-5'>PWM</b>實現<b class='flag-5'>呼吸</b>燈
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>