衡阳派盒市场营销有限公司

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

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

3天內(nèi)不再提示

STM32_ TIM輸出PWM波形

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-04-08 11:09 ? 次閱讀

前言

今天講解“STM32F103 TIM輸出PWM波形”,提供的軟件工程支持最大輸出18MHz的PWM波形,函數(shù)接口只有兩個參數(shù):頻率Freq和 占空比Dutycycle。

定時器的功能很強大,今天講解的PWM屬于定時器中比較輸出的功能,難度算一般吧(懂了的人覺得很簡單),因為使用了比較的功能。

PWM在實際應用中特別廣泛,可能在校的學生不是很了解,但對于很多工作的人來說PWM的應用基本上遍布整個電子化的時代。對于電子相關專業(yè)的學生來說,信號發(fā)生器都不陌生,信號發(fā)生器就是PWM典型的應用。

本文特點:1.提供講解的軟件工程; 2.圖片代碼比直接貼出源代碼容易閱讀。

本著免費分享的原則,將講解的工程源代碼分享給大家,還望看到的朋友關注一下微信公眾號,并將文章分享給你的朋友。

下載

提供下載的“軟件工程”都是在硬件板子上進行多次測試、并保證沒問題才上傳至360云盤。

今天的軟件工程下載地址(360云盤):

https://yunpan.cn/cSftz7gAJFujm訪問密碼 5132

STM32F10x的資料可以在我360云盤下載:

https://yunpan.cn/crBUdUGdYKam2訪問密碼 ca90

內(nèi)容講解

工程概要說明: 今天配置定時器2通道1輸出PWM波形(PA0口輸出1KHz、20%占空比),可根據(jù)情況修改其他TIM、其他通道。

注意:最大頻率和占空比有一定關系。

占空比等于1%時, 最大頻率為360KHz

占空比等于50%時,最大頻率為18MHz

關于“STM32F103TIM輸出PWM波形”我把重要的幾點在下面分別講述:

一、RCC時鐘配置

該函數(shù)位于bsp.c文件下面;

使能RCC時鐘:RCC_APB2Periph_AFIO和 RCC_APB1Periph_TIM2;

這兩個時鐘是今天工程中重要的。

二、PWM輸出引腳

該函數(shù)位于timer.c文件下面;

配置PA0為PWM輸出引腳(這里的引腳需要和定時器的通道對應,否則沒有波形輸出),詳情請看數(shù)據(jù)手冊關于引腳的說明。

三、輸出PWM配置


該函數(shù)位于timer.c文件下面;

決定輸出頻率和占空比主要由這三個參數(shù)(TIM2_PRESCALER_VALUE、tim2_period、tim2_pulse)決定的。

以今天工程輸出1KHz,20%來舉例說明:

TIM2_PRESCALER_VALUE = 72M / 36M - 1 = 1

tim2_period = 36000 - 1

tim2_pulse = 7200

這三個怎么得來的請看代碼,今天工程輸出的波形如下圖:

四、今天的重點提示

A.細心研究過代碼的人會發(fā)現(xiàn)TIM_OCMode_PWM1,還有一個TIM_OCMode_PWM2,這兩個的區(qū)別是什么呢? 答案是:輸出的極性(也就是方向)不一樣。

這時候又有人問:那下面的輸出極性TIM_OCPolarity_High與上面的關系是什么呢?答案是:這兩個參數(shù)配合一起輸出決定PWM波形的極性。

也就是說不同參數(shù)可以達到一樣的效果,下圖參數(shù)的配置同樣可以輸出一樣的波形。

感興趣的朋友可以試著修改測試一下效果。

B.今天的工程可以設置周期性中斷(也就是1ms中斷一次),感興趣的朋友可以試著寫一下。使用串口打印測試的話,盡量頻率低一點,不然串口響應不過來。

說明

今天提供的軟件工程基于STM32F103大容量芯片,其實只要適當修改工程的部分配置,STM32F1的芯片都適用。

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

    關注

    114

    文章

    5198

    瀏覽量

    214878
  • STM32
    +關注

    關注

    2272

    文章

    10923

    瀏覽量

    357563
  • Tim
    Tim
    +關注

    關注

    0

    文章

    81

    瀏覽量

    17952
收藏 人收藏

    評論

    相關推薦

    PWM波形的特性與優(yōu)化

    PWM波形的特性 1. 定義與基本原理 PWM是一種通過改變脈沖寬度來控制輸出電壓或電流的技術。在PWM信號中,一個周期內(nèi),脈沖的高電平(O
    的頭像 發(fā)表于 11-29 09:13 ?673次閱讀

    PWM輸出配置方法

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

    使用STM32CubeMX輸出PWM,并制作呼吸燈效果

    概述 本篇文章主要介紹如何使用STM32CubeMX輸出PWM,并制作呼吸燈效果。 硬件準備 首先需要準備一個開發(fā)板,這里我準備的是NUCLEO-F030R8的開發(fā)板: 選擇芯片型號 配置時鐘源
    發(fā)表于 09-04 10:38

    pwm與spwm波,載波、參考波與輸出波形的關系

    PWM(Pulse Width Modulation,脈沖寬度調(diào)制)與SPWM(Sinusoidal PWM,正弦脈沖寬度調(diào)制)波是電力電子領域中常用的兩種調(diào)制技術,它們在載波、參考波與輸出
    的頭像 發(fā)表于 08-14 16:58 ?2739次閱讀

    GD32E230C8T6高級定時器timer0無法正常輸出PWM波形的原因?

    原本想用高級定時器的中央對齊計數(shù)模式來輸出SPWM波,但是TIMER0的CH0,CH1等口,都無法正常輸出PWM波形,換成普通定時器就可以了,STM
    發(fā)表于 07-26 06:34

    STM32F407 PWM輸出時一次中斷未執(zhí)行完下一次中斷就進入,導致PWM波形輸出紊亂怎么解決?

    為1KHz,波形不錯亂,大于10KHz,錯亂現(xiàn)象逐漸嚴重。 現(xiàn)在我的中斷處理函數(shù)運行時間大概在1us左右,因此我覺得對于1MHz的PWM輸出是有問題的。所以向各位STM32的前輩請教一
    發(fā)表于 04-18 07:45

    cubemx設置TIM1 CH1N PWM波形沒有輸出的原因?

    時鐘內(nèi)部48M,48分頻后得到1us,周期250us,占空比125us。main函數(shù)中調(diào)用HAL PWM START,實際沒有輸出TIM3的PWM
    發(fā)表于 04-12 08:09

    stm32f103 TIM2 PWM為什么沒有輸出

    以前用TIM8輸出2路PWM正常,現(xiàn)在改為TIM2卻沒有輸出,對照datasheet寄存器詳細查了遍,沒看出問題。先貼出了主要代碼,哪位能看
    發(fā)表于 04-11 07:07

    STM32F429的TIM4定時器輸出四路PWM,為什么第四路PB9一直輸出低電平?

    芯片型號:STM32F429ZGT6 用TIM4輸出4路PWM,用的是PB6PB7PB8PB9程序是一樣的配置,前三路都有PWM
    發(fā)表于 04-03 07:43

    STM32L0使用延時函數(shù)使PWM波形移相,延時函數(shù)不起作用的原因?

    使用的是STM32L0系列,準備使用延時函數(shù)使PWM波形移相,現(xiàn)在延時函數(shù)不起作用 delay.c函數(shù)如下: //us void delay_us(uint32_t nus) { uint32_t
    發(fā)表于 03-21 06:23

    STM32G431CBT6使用LL_TIM_SetRepetitionCounter()更新TIM8的RCR寄存器,無法更改PWM輸出的個數(shù),為什么?

    如題,使用STM32CubeMX初始化,RCR寄存器設置為20-1,TIM8設置為單脈沖模式;進入程序后使用LL_TIM_SetRepetitionCounter(TIM8, 10-1
    發(fā)表于 03-21 06:09

    STM32H723ZG TIM23 PWM不能中心對齊和down模式是什么原因呢?

    求助各位大神! 用的是STM32H723ZG,用cubeMx生產(chǎn)代碼,TIM8和TIM23采用相同的配置,如下圖,但是TIM8的PWM
    發(fā)表于 03-19 06:45

    STM32F051C8 PA0不能以DMA的方式輸出PWM,沒有正確波形輸出是哪里出了問題?

    ,新建工程,選擇型號STM32F051C8; 選擇內(nèi)部時鐘,配置時鐘為48Mhz, 配置TIM2 CH1為DMA PWM輸出; 生成代碼后,加入WS2812b的應用代碼;在m
    發(fā)表于 03-13 06:20

    STM32U575 pwm和DMA輸出波形少一段怎么處理?

    這是我的 DMA 的配置 這是我的PWM配置 上面的波形是F103輸出波形。 下面的波形是U575
    發(fā)表于 03-13 06:10

    stm32f303RE PWM輸出波形變形的原因?

    我使用stm32 nucleo開發(fā)板,使用TIM3 CH4輸出PWM方波,發(fā)現(xiàn)波形變形,整個工程只有這個
    發(fā)表于 03-08 08:12
    鸿胜娱乐城| 大发888娱乐场c17| 百家乐官网翻天下载| 漳浦县| 威尼斯人娱乐城佣金| 国际娱百家乐官网的玩法技巧和规则| 澳门威尼斯人娱乐| 百家乐大娱乐场开户注册| 贵族百家乐官网的玩法技巧和规则 | 赌百家乐可以赢钱| 哪家百家乐官网从哪而来| 八大胜百家乐官网的玩法技巧和规则 | 鼎丰娱乐城开户| 赌场百家乐试玩| 百家乐官网庄闲偏差有多大| 网上百家乐官网心得| 免费棋牌游戏| 任你博百家乐的玩法技巧和规则| 娱乐城百家乐技巧| 百家乐官网路单破| 大亨百家乐官网娱乐城| 豪盈国际娱乐| 大发888娱乐日博备用| 百家乐斗地主在哪玩| 明溪百家乐官网的玩法技巧和规则 | 威尼斯人娱乐城存取款| 澳门百家乐网上赌| 杨公24山| 百家乐官网网站赌钱吗| 玩百家乐官网游戏经验| 博娱乐城| 星空棋牌下载| 威尼斯人娱乐备用6222| 百家乐板路| 百家乐赢家球讯网| 八大胜百家乐官网的玩法技巧和规则| 沁水县| 博王娱乐| 168棋牌游戏| 太阳城橙翠园| 巴黎人百家乐的玩法技巧和规则 |