国产精品久久久久影院,成人午夜福利视频,国产精品久久久久高潮,国产精品 欧美 亚洲 制服,国产精品白浆无码流出

STM32F4_TIM輸出PWM波形 (可調(diào)頻率、占空比)

發(fā)布者:自由思想最新更新時(shí)間:2024-09-19 來(lái)源: elecfans關(guān)鍵字:STM32F4  TIM輸出  PWM波形  可調(diào)頻率  占空比 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

Ⅰ、概述

上一篇文章關(guān)于STM32基本的計(jì)數(shù)原理明白之后,該文章是在其基礎(chǔ)上進(jìn)行拓展,講述關(guān)于STM32比較輸出的功能,以輸出PWM波形為實(shí)例來(lái)講述。


提供實(shí)例工程中比較實(shí)用的函數(shù):只需要調(diào)用該函數(shù),參數(shù)為頻率和占空比

void TIM2_CH2_PWM(uint32_tFreq, uint16_tDutycycle);

先看一下實(shí)例中1KHz、20%占空比波形圖 TIM2_CH2_PWM(1000, 20);


關(guān)于本文的更多詳情請(qǐng)往下看。

Ⅱ、實(shí)例工程下載

筆者針對(duì)于初學(xué)者提供的例程都是去掉了許多不必要的功能,精簡(jiǎn)了官方的代碼,對(duì)初學(xué)者一看就明白,以簡(jiǎn)單明了的工程供大家學(xué)習(xí)。

筆者提供的實(shí)例工程都是在板子上經(jīng)過(guò)多次測(cè)試并沒(méi)有問(wèn)題才上傳至360云盤,歡迎下載測(cè)試、參照學(xué)習(xí)。

提供下載的軟件工程是STM32F417的,但F4其他型號(hào)也適用(適用F4其他型號(hào):關(guān)注微信,回復(fù)“修改型號(hào)”)。

STM32F4_TIM輸出PWM波形(可調(diào)頻率、占空比)實(shí)例:

https://yunpan.cn/cBYTWTgSmhbfe 訪問(wèn)密碼 0025

STM32F4資料:

https://yunpan.cn/cR2pxqF5x2d9c 訪問(wèn)密碼 53e7

Ⅲ、原理描述


上一篇文章講述的就是上圖中“計(jì)數(shù)”紅色部分,也就是開(kāi)始到結(jié)束的時(shí)間,該文章是講述在這個(gè)計(jì)數(shù)的中間加一個(gè)值(比較值),當(dāng)計(jì)數(shù)到這個(gè)比較值的時(shí)候就對(duì)輸出的引腳進(jìn)行反向,直到計(jì)滿(一個(gè)周期)。循環(huán)下去。

通用TIM框圖:


上面兩圖截取“STM32F4x5、x7參考手冊(cè)”建議下載手冊(cè)參看。

我上面說(shuō)的“比較值”就是TIM框圖中比較部分的“Capture/Comparex register”比較寄存器,這個(gè)值就會(huì)決定輸出引腳的電平。

Ⅳ、源代碼分析

筆者以F4標(biāo)準(zhǔn)外設(shè)庫(kù)(同時(shí)也建議初學(xué)者使用官方的標(biāo)準(zhǔn)外設(shè)庫(kù))為建立的工程,主要以庫(kù)的方式來(lái)講述。

1.RCC時(shí)鐘


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

重點(diǎn)注意:

A.外設(shè)RCC時(shí)鐘的配置要在其外設(shè)初始化的前面;

B.匹配對(duì)應(yīng)時(shí)鐘。

比如:RCC_APB2外設(shè)不要配置在RCC_APB1時(shí)鐘里面

【如:RCC_APB1PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE);這樣能編譯通過(guò),但這是錯(cuò)誤的代碼】

2.TIM比較輸出配置


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

TIM2時(shí)基單元配置是上一篇文章相關(guān)的內(nèi)容,是及時(shí)的配置,在該文中也就是對(duì)一個(gè)周期的配置。

TIM2通道2:PWM1模式配置是對(duì)占空比的配置。

tim2_period =TIM2_COUNTER_CLOCK/Freq - 1;

tim2_pulse = (tim2_period + 1)*Dutycycle / 100;

函數(shù)開(kāi)始是對(duì)周期和占空比的一個(gè)換算公式,也比較簡(jiǎn)單。

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

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

TIM2_PRESCALER_VALUE = 168M/2 / 42M - 1 = 1 (也就是2分頻)

tim2_period = 42000 - 1

tim2_pulse = 8400

頻率1KHz = 42M/ 4200

占空比20% = 8400/42000

Ⅴ、說(shuō)明

關(guān)于筆者提供的軟件工程實(shí)例,可關(guān)注微信,在會(huì)話框回復(fù)“關(guān)于工程”,有關(guān)于工程結(jié)構(gòu)描述、型號(hào)修改等講述。


關(guān)鍵字:STM32F4  TIM輸出  PWM波形  可調(diào)頻率  占空比 引用地址:STM32F4_TIM輸出PWM波形 (可調(diào)頻率、占空比)

上一篇:STM32F10x_ 模擬I2C讀寫EEPROM
下一篇:Linux下開(kāi)發(fā)STM32 使用gcc-arm-none-eabi工具鏈編譯生成bin、hex文件

推薦閱讀最新更新時(shí)間:2025-07-06 13:05

Stm32F4x采用外部觸發(fā)法測(cè)矩形波頻率占空比
一、 方案總體介紹 本方案未采用外部中斷測(cè)頻和定時(shí)器輸入捕獲測(cè)占空比,原因是在測(cè)高頻時(shí),中斷頻率過(guò)高,CPU頻繁響應(yīng)中斷,導(dǎo)致測(cè)量精度嚴(yán)重下降。故采用以下方案: 頻率測(cè)量方案:用定時(shí)器TIM3定時(shí)1秒,定時(shí)器TIM2設(shè)置為外部時(shí)鐘輸入(將要測(cè)量的矩形波作為時(shí)鐘輸入)。1秒后,取出TIM2計(jì)數(shù)器的值,即是所要測(cè)量的矩形波的頻率。由于存在系統(tǒng)誤差,進(jìn)行多次測(cè)量,用Matlab擬合曲線,進(jìn)行線性補(bǔ)償。 占空比測(cè)量方案:為節(jié)省外設(shè)資源,對(duì)定時(shí)器TIM2進(jìn)行分時(shí)復(fù)用,即在測(cè)頻完成后,更改定時(shí)器設(shè)置,再進(jìn)行測(cè)量占空比。用定時(shí)器TIM3定時(shí)1秒,定時(shí)器TIM2設(shè)置從模式、門控模式(高電平定時(shí)器時(shí)鐘使能),觸發(fā)源為外部觸發(fā)。1秒后,取出TIM2計(jì)
[單片機(jī)]
<font color='red'>Stm32F4</font>x采用外部觸發(fā)法測(cè)矩形波<font color='red'>頻率</font>和<font color='red'>占空比</font>
單片機(jī)pwm頻率和周期可調(diào)
//------------------------------------------------------------------------------------ //程序功能簡(jiǎn)介:本程序產(chǎn)生15HZ~~~50KHZ的方波,并且實(shí)現(xiàn)頻率和脈寬的獨(dú)立調(diào)制,即可 //在改變頻率的同時(shí)不改變脈寬,再改變脈寬的同時(shí)不改變頻率;同時(shí)設(shè)置 //兩個(gè)調(diào)節(jié)步長(zhǎng)------在KEY鍵按下時(shí),粗調(diào),沒(méi)有按下時(shí),細(xì)調(diào); //程序思路: 本程序用到兩個(gè)定時(shí)器------定時(shí)器0和定時(shí)器1,其中定時(shí)器0工作在定時(shí)方式下, //決定方波的頻率;定時(shí)器1,同樣工作在定時(shí)方式下,用于設(shè)定脈寬; //---------------------------
[單片機(jī)]
設(shè)計(jì)脈寬占空比50%,25%可調(diào)的脈沖發(fā)生器
單片機(jī)實(shí)驗(yàn)設(shè)計(jì):要求使用8951系列單片機(jī),設(shè)計(jì)脈寬占空比50%,25%可調(diào)的脈沖發(fā)生器,周期2秒。 P1.1輸出PWM。 P3.3接開(kāi)關(guān),低電平時(shí)占空比50%、高電平時(shí)占空比25%。 問(wèn)題補(bǔ)充:晶振是6MHz。 ;================================================= 最佳答案: ;下列程序,經(jīng)過(guò)編譯、仿真,符合要求。 ;------------------------------------- ORG 0000H JMP START ORG 000BH JMP T0_INT ;------------------------------------- START:
[單片機(jī)]
LED亮度線性變化難搞?PWM占空比幫你忙
占空比 是通電時(shí)間和通電周期的比值,常用于調(diào)整較為精細(xì)的參數(shù)。比較典型的應(yīng)用就是對(duì)LED照明設(shè)備亮度的調(diào)節(jié)。本篇文章就將為大家介紹如何通過(guò)調(diào)節(jié)PWM的占空比,來(lái)確保LED的亮度是線性變化的。 首先需要明確的是,LED驅(qū)動(dòng)是恒流的,而PWM所作的僅僅是修改恒流電流與斷流的時(shí)間比,所以占空比與光通量的輸出是線性關(guān)系。作為一個(gè)燈具,其輸出光通量隨時(shí)間線性變化,但是人眼感受的卻不是線性的,表現(xiàn)有,在燈光微亮區(qū),很小的光通量改變也讓人眼感到光通量變化很大,而在光通量比較大的區(qū)域,很大的光通量跳躍,人眼感覺(jué)到的光通量變化不大。 在這一套組圖中,所有的刻度都是均勻分布的。圖1是實(shí)際的占空比與光通量的關(guān)系,為線性;它對(duì)應(yīng)的人眼的感受如圖2所
[電源管理]
LED亮度線性變化難搞?<font color='red'>PWM</font><font color='red'>占空比</font>幫你忙
STM32F407 基本定時(shí)器使用
介紹STM32F407基本定時(shí)器的配置方法,分別介紹輪詢方式、中斷方式使用定時(shí)器完成定時(shí)。 【1】定時(shí)器介紹 定時(shí)器相關(guān)的章節(jié)在STM32F4xx參考手冊(cè)第14、15、16、17章節(jié)。 【2】基本定時(shí)器配置示例 增加一個(gè)Timer.c文件,代碼如下 #include timer.h /* 函數(shù)功能:基本定時(shí)器7初始化配置 函數(shù)形參: psc :預(yù)分頻系數(shù) arr :重載值 說(shuō)明:定時(shí)器的視頻頻率為84MHZ ,是APB1時(shí)鐘頻率的2倍 */ void Time7_InitConfig(u16 psc,u16 arr) { /*1. 開(kāi)時(shí)鐘*/ RCC- APB1ENR|=1 5;
[單片機(jī)]
<font color='red'>STM32F4</font>07 基本定時(shí)器使用
從5方面描述STM32F407+ESP8266連接機(jī)智云過(guò)程
一、硬件組成如下圖所示: 硬件全家福: STM32F407ZGT6+ESP8266 二、下載通用APP DEMO: 1.在應(yīng)用商店,搜索“機(jī)智云”APP。 通用APP Demo 又稱“機(jī)智云”APP 2.安裝、注冊(cè)、登陸后如下圖所示: 三、調(diào)試過(guò)程詳解: 創(chuàng)建數(shù)據(jù)點(diǎn) 生成MCU工程 下載MCU工程并根據(jù)開(kāi)發(fā)板原理圖修改工程,修改的地方如程序中紅色加注釋的部分 main.c 中加入紅色標(biāo)出的GPIO初始化代碼 static void MX_GPIO_Init(void) { GPIO_InitTypeDef GPIO_InitStruct; /* GPIO Ports Clock Enable */ __HAL_RCC_GP
[單片機(jī)]
從5方面描述<font color='red'>STM32F4</font>07+ESP8266連接機(jī)智云過(guò)程
輕松搞懂STM32F4之DMA
DMA的作用以及DMA與CPU干擾問(wèn)題 DMA(Direct memory access):直接存儲(chǔ)器存儲(chǔ)。 目前網(wǎng)上對(duì)于DMA有兩種說(shuō)法,一種是在DMA傳輸時(shí),CPU可以正常工作,一種說(shuō)法是不可以,這兩種說(shuō)法其實(shí)有對(duì)也有錯(cuò),經(jīng)過(guò)我的大量查詢后,終于得出了一個(gè)靠譜的答案。那么想弄清楚這點(diǎn),需要先了解總線與時(shí)鐘的關(guān)系(先湊合看,回頭寫個(gè)總線架構(gòu)專講) 時(shí)鐘:計(jì)算機(jī)的最小時(shí)間單位,用于同步控制電路,計(jì)算機(jī)中每個(gè)動(dòng)作所用時(shí)都是以時(shí)鐘周期為單位的,多個(gè)時(shí)鐘周期或一個(gè)時(shí)鐘周期等于一個(gè)機(jī)械周期,多個(gè)機(jī)械周期等于一個(gè)指令周期(寫多個(gè)是因?yàn)椴煌酒纤牟煌芷诘谋戎挡煌?,指令周期執(zhí)行指令集中的一條指令所需要的時(shí)間。 總線:計(jì)算
[單片機(jī)]
輕松搞懂<font color='red'>STM32F4</font>之DMA
第42章 STM32F429的LTDC應(yīng)用之點(diǎn)陣字體和字符編碼(重要)
42.1 初學(xué)者重要提示 本章節(jié)講解的GB2312和GBK比較容易理解,而Unicode是全球統(tǒng)一碼,所以涉及到的知識(shí)點(diǎn)比較多,也復(fù)雜些。 當(dāng)前Windows系統(tǒng)字符管理已經(jīng)全部采用Unicode字符集,編碼形式是UTF-16 LE (LE表示小端格式)編碼。比如我們通過(guò)記事本保存的時(shí)候選擇編碼類型Unicode,其實(shí)就是選擇的UTF-16 LE。而我們平時(shí)所說(shuō)的中文版Windows系統(tǒng)是指用戶在選擇不支持Unicode的程序中顯示文本時(shí)所使用的語(yǔ)言。 區(qū)分清楚什么是字符,字符集。字符(Character)是各種文字和符號(hào)的總稱,包括各國(guó)家文字、標(biāo)點(diǎn)符號(hào)、圖形符號(hào)、數(shù)字等。字符集(Character set)是多個(gè)字符的集
[單片機(jī)]
第42章 <font color='red'>STM32F4</font>29的LTDC應(yīng)用之點(diǎn)陣字體和字符編碼(重要)
小廣播
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車開(kāi)發(fā)圈

 
機(jī)器人開(kāi)發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved