一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

STM32_ TIM輸出PWM波形

黃工的嵌入式技術(shù)圈 ? 來(lái)源:黃工的嵌入式技術(shù)圈 ? 2020-04-08 11:09 ? 次閱讀

前言

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

定時(shí)器的功能很強(qiáng)大,今天講解的PWM屬于定時(shí)器中比較輸出的功能,難度算一般吧(懂了的人覺(jué)得很簡(jiǎn)單),因?yàn)槭褂昧吮容^的功能。

PWM在實(shí)際應(yīng)用中特別廣泛,可能在校的學(xué)生不是很了解,但對(duì)于很多工作的人來(lái)說(shuō)PWM的應(yīng)用基本上遍布整個(gè)電子化的時(shí)代。對(duì)于電子相關(guān)專業(yè)的學(xué)生來(lái)說(shuō),信號(hào)發(fā)生器都不陌生,信號(hào)發(fā)生器就是PWM典型的應(yīng)用。

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

本著免費(fèi)分享的原則,將講解的工程源代碼分享給大家,還望看到的朋友關(guān)注一下微信公眾號(hào),并將文章分享給你的朋友。

下載

提供下載的“軟件工程”都是在硬件板子上進(jìn)行多次測(cè)試、并保證沒(méi)問(wèn)題才上傳至360云盤。

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

https://yunpan.cn/cSftz7gAJFujm訪問(wèn)密碼 5132

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

https://yunpan.cn/crBUdUGdYKam2訪問(wèn)密碼 ca90

內(nèi)容講解

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

注意:最大頻率和占空比有一定關(guān)系。

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

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

關(guān)于“STM32F103TIM輸出PWM波形”我把重要的幾點(diǎn)在下面分別講述:

一、RCC時(shí)鐘配置

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

使能RCC時(shí)鐘:RCC_APB2Periph_AFIO和 RCC_APB1Periph_TIM2;

這兩個(gè)時(shí)鐘是今天工程中重要的。

二、PWM輸出引腳

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

配置PA0為PWM輸出引腳(這里的引腳需要和定時(shí)器的通道對(duì)應(yīng),否則沒(méi)有波形輸出),詳情請(qǐng)看數(shù)據(jù)手冊(cè)關(guān)于引腳的說(shuō)明。

三、輸出PWM配置


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

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

以今天工程輸出1KHz,20%來(lái)舉例說(shuō)明:

TIM2_PRESCALER_VALUE = 72M / 36M - 1 = 1

tim2_period = 36000 - 1

tim2_pulse = 7200

這三個(gè)怎么得來(lái)的請(qǐng)看代碼,今天工程輸出的波形如下圖:

四、今天的重點(diǎn)提示

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

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

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

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

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

說(shuō)明

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

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

    關(guān)注

    116

    文章

    5315

    瀏覽量

    217356
  • STM32
    +關(guān)注

    關(guān)注

    2283

    文章

    10986

    瀏覽量

    361299
  • Tim
    Tim
    +關(guān)注

    關(guān)注

    0

    文章

    83

    瀏覽量

    18183
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    求助大佬我使用STM32F030F4P6 的PA3引腳輸出PWM波形

    查看數(shù)據(jù)手冊(cè)復(fù)用是AF0,TIM15_CH2(2),但是發(fā)現(xiàn)沒(méi)有辦法輸出PWM波形實(shí)現(xiàn)呼吸燈效果 實(shí)際嘗試PA3引腳讓LED燈亮滅閃爍是可以實(shí)現(xiàn)的,但是卻沒(méi)有辦法
    發(fā)表于 03-20 23:13

    STM32F103 TIM1_CH3N輸出PWM波形為什么會(huì)多出一個(gè)邊沿?

    紅色為TIM1_CH3N,綠色為TIM1_CH3,為什么TIM1_CH3N輸出PWM波形會(huì)多
    發(fā)表于 03-13 06:58

    stm32同一個(gè)定時(shí)器不同的通道,可以不同時(shí)的輸出pwm波形嗎?

    請(qǐng)問(wèn),stm32的同一個(gè)定時(shí)器,不同的通道,可以不同時(shí)的輸出pwm波形嗎?比如tim1的ch1輸出
    發(fā)表于 03-07 08:20

    如何使用TIM2的更新事件觸發(fā)TIM1的PWM DMA?

    3個(gè)表格去實(shí)現(xiàn)3路PWM的占空比控制,且每路相位相差120度,然后我使用TIM2的更新事件去觸發(fā)TIM1的PWM DMA更新,也就是比如我設(shè)置40usTIM2就會(huì)有一個(gè)更新事件,然后
    發(fā)表于 03-07 07:34

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

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

    PWM輸出配置方法

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

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

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

    pwm與spwm波,載波、參考波與輸出波形的關(guān)系

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

    GD32E230C8T6高級(jí)定時(shí)器timer0無(wú)法正常輸出PWM波形的原因?

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

    修改stm32f407 tim14的ccr1,但是示波器看波形是滿占空比,為什么?

    通過(guò)debug查看相應(yīng)的寄存器已經(jīng)改變,但是示波器看波形是滿占空比,下面是初始化代碼 void TIM14_PWM_Init(unsigned int arr,unsigned int psc
    發(fā)表于 05-24 06:06

    stm8s003的TIM2_CH3輸出pwm,PWM無(wú)輸出是為什么?

    求各位大神解救,此PWM無(wú)輸出,已經(jīng)將PD2設(shè)置了推挽輸出方式,并且在optionbyte中也設(shè)置了PORT D2 alternate function=TIM2_CH3了,但是下載到
    發(fā)表于 05-15 07:05

    STM32F407 TIM3 CH2 PWM輸入捕獲結(jié)果不正確的原因?

    我的程序如下, 個(gè)人思路是TIM1的CH3輸出PWM波形, 然后使用TIM3的CH2捕獲PWM
    發(fā)表于 05-15 06:42

    STM8S003 TIM1沒(méi)PWM輸出的原因?

    用的是STM8S003的IC,然后配置TIM1沒(méi)PWM輸出,TIM2就可以輸出,請(qǐng)教各位這是什么原因
    發(fā)表于 05-10 07:45

    stm8用tim1輸出一個(gè)頻率固定的pwm,在示波器里看到短暫出現(xiàn)需要的波形后便死機(jī)或重啟了為什么?

    我用tim1輸出一個(gè)頻率固定的pwm,現(xiàn)在我在中斷里計(jì)數(shù)幾個(gè)脈沖后置為強(qiáng)制輸出低電平,然后幾個(gè)脈沖后恢復(fù)正常,在示波器里看到短暫出現(xiàn)需要的波形
    發(fā)表于 05-08 06:31

    STM8S的TIM1 PWM輸出不了是什么原因?qū)е碌模?/a>

    1、我參考了 STM8S_StdPeriph_LibProjectSTM8S_StdPeriph_ExamplesTIM1TIM1_7PWM_Output的例程 2、照著庫(kù)函數(shù)提供的去寫,并沒(méi)有
    發(fā)表于 05-08 06:10