18video性欧美19sex,欧美高清videosddfsexhd,性少妇videosexfreexxx片中国,激情五月激情综合五月看花,亚洲人成网77777色在线播放

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

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

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

通過(guò)STM32實(shí)現(xiàn)PWM呼吸燈的教程

冬至子 ? 來(lái)源:小黑學(xué)習(xí)日記 ? 作者:小黑 ? 2023-07-26 15:20 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一,知識(shí)理論基礎(chǔ)

什么是呼吸燈:

顧名思義,就是一個(gè)燈。燈的亮度的變化,由亮變暗,從暗變亮,有一個(gè)漸變,規(guī)律的變化,像是人的呼吸,是燈的呼吸,所以叫呼吸燈。而要讓燈可以達(dá)到這樣的變化,我們要讓stm32的IO口上輸出一個(gè)可調(diào)的電平,這時(shí)我們就要用到PWM,那什么是PWM呢,我們繼續(xù)往下看。

什么是定時(shí)器:

講PWM我們要先認(rèn)識(shí)stm32的定時(shí)器,PWM是定時(shí)器的功能之一。STM32F103有TIME1和TIME8高級(jí)定時(shí)器,TIME2TIME5通用定時(shí)器,還有TIME6和TIME7基本定時(shí)器。我們要使用的STM32F103C8T6只具有4個(gè)定時(shí)器,TIME1TIME4.

圖片

那么定時(shí)器有什么功能呢?定時(shí)、輸出比較、輸入捕獲、互補(bǔ)輸出,其中,基本定時(shí)器就只有定時(shí)功能,通用定時(shí)器便除了互補(bǔ)輸出沒(méi)有其他都有,而高級(jí)定時(shí)器便是全都有啦,我們這里用到通用定時(shí)器TIM2。

通用定時(shí)器具體的功能有:

圖片

在這里我們要用到TIM2_CH2的PWM輸出功能。

那么什么是PWM呢?

脈沖寬度調(diào)制(PWM),是英文“Pulse Width Modulation”的縮寫(xiě),簡(jiǎn)稱脈寬調(diào)制,是利用微處理器的數(shù)字輸出來(lái)對(duì)模擬電路進(jìn)行控制的一種非常有效的技術(shù)。簡(jiǎn)單一點(diǎn),就是對(duì)脈沖寬度的控制。

簡(jiǎn)單點(diǎn)說(shuō)就是一個(gè)可調(diào)的脈沖,控制在一個(gè)周期內(nèi),控制高電平多長(zhǎng)時(shí)間,低電平多長(zhǎng)時(shí)間(占空比),從而實(shí)現(xiàn)電平的輸出。經(jīng)常用于舵機(jī)、電機(jī)控制等。。。

兩個(gè)重要的概念,頻率、占空比:

頻率是指每秒鐘信號(hào)從高電平到低電平再回到高電平的次數(shù),為一個(gè)PWM波周期的倒數(shù)。
占空比是指高電平持續(xù)時(shí)間比一個(gè)周期持續(xù)的時(shí)間。所以可以通過(guò)控制占空比(我們要編程的“數(shù)”),來(lái)控制輸出的等效電壓。
對(duì)于方波(pwm輸出的就是方形波)的話,頻率和占空比就確定了一個(gè)波。

圖片

為了不至于太難理解,我們不進(jìn)行深講,但是建議大家可以去CSDN,百度等等平臺(tái)進(jìn)行全面一點(diǎn)的認(rèn)知,對(duì)我們下學(xué)期的智能車比賽做基礎(chǔ)知識(shí)儲(chǔ)備。

**二,**硬件連接

具有定時(shí)器功能的引腳:

圖片

圖片

圖片

圖片

LED連接:

我們用到TIM2_CH2,自己實(shí)操時(shí)可以換一個(gè)以達(dá)到更好的學(xué)習(xí)效果。通過(guò)圖二,我們?cè)谀J(rèn)情況下(即不使用端口映射)TIM2_CH2對(duì)應(yīng)的IO口是PA1,我們將PWM輸出極性設(shè)置為高,便將LED的正極接到PA1上,負(fù)極接GND,(若將輸出極性設(shè)置成低那就反過(guò)來(lái)接,將負(fù)極接到IO口,,正極接5V)

三,軟件編程

首先我們?cè)诠こ讨蠬ARDWARE文件夾下新建PWM文件夾并新建PWM.c PWM.h兩個(gè)文件,導(dǎo)入mdk5,具體操作省略,可以看前邊推文。我們將PWM的初始化函數(shù)寫(xiě)到PWM.c的文件中函數(shù)命名為“TIM2_PWM_Init”(可以隨意命名)。

我們先從簡(jiǎn)單的講起,PWM.h頭文件沒(méi)什么重點(diǎn),如下:

#ifndef __PWM_H    
#define __PWM_H    
#include "sys.h"  //導(dǎo)入頭文件   
void TIM2_PWM_Init(u16 arr,u16 psc);  //函數(shù)聲明       
#endif

這里要說(shuō)的是因?yàn)橛玫搅藆16 的數(shù)據(jù)類型定義我們要導(dǎo)入一個(gè)頭文件“sys.h”(u8,u16,u32都是C語(yǔ)言數(shù)據(jù)類型,分別代表8位,16位,32位長(zhǎng)度的數(shù)據(jù)類型,這里也可以直接調(diào)用"stm32f10x.h")

接下來(lái)是編寫(xiě)PWM.c文件,編寫(xiě)初始化 “void TIM2_PWM_Init(u16 arr,u16 psc);”函數(shù),函數(shù)參數(shù)為arr重裝載值決定pwm的頻率周期,psc是時(shí)鐘預(yù)分頻數(shù)(主要用于計(jì)算時(shí)間范圍為0-65534),這里有一條公式可以計(jì)算周期時(shí)間Tout= (arr+1)*(psc+1) /Tclk,其中Tclk我們用的TIM2是系統(tǒng)內(nèi)部APB1時(shí)鐘倍頻來(lái)的,(固件庫(kù)的SystemInit函數(shù)里面已經(jīng)初始化APB1的時(shí)鐘為2分頻,所以APB1的時(shí)鐘為36M,而從STM32的內(nèi)部時(shí)鐘樹(shù)圖得知:當(dāng)APB1的時(shí)鐘分頻數(shù)為1的時(shí)候,TIM27的時(shí)鐘為APB1的時(shí)鐘,而如果APB1的時(shí)鐘分頻數(shù)不為1,那么TIM27的時(shí)鐘頻率將為APB1時(shí)鐘的兩倍。因此,TIM2的時(shí)鐘為72M,即 Tclk=72M)

接下來(lái)我們先說(shuō)說(shuō)PWM的模式,PWM有兩個(gè)模式,PWM1和PWM2,PWM1是當(dāng)我們?cè)O(shè)定的值比arr值小時(shí)輸出高電平,PWM2是當(dāng)我們?cè)O(shè)定的值比arr值大時(shí)輸出高電平。如下圖就是PWM2模式。

圖片

我們從圖出發(fā),可以看到為什么說(shuō)ARR值決定周期,定時(shí)器從0開(kāi)始計(jì)數(shù)(這里是向上計(jì)數(shù)模式,向下計(jì)數(shù)則相反,也是上邊公式為什么要+1),數(shù)到ARR時(shí)產(chǎn)生溢出(更新)事件(可以從這個(gè)地方設(shè)置中斷,本次用不到中斷,不進(jìn)行講解),重新回到0 ,這便是一個(gè)周期,我們要設(shè)置的值便是圖中CCRx,這個(gè)值會(huì)跟ARR進(jìn)行比較(所以叫輸出比較),通過(guò)模式設(shè)定決定輸出高低電平。(為了不至于太難理解請(qǐng)一定結(jié)合上圖一起看)。我們先看看完整的代碼,然后一個(gè)一個(gè)函數(shù)講PWM.c

#include "PWM.h"
void TIM2_PWM_Init(u16 arr,u16 psc)
{ 
//結(jié)構(gòu)體變量定義
TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;
GPIO_InitTypeDef GPIO_InitStruct;
TIM_OCInitTypeDef TIM_OCInitStruct;
//時(shí)鐘使能 TIM2 、GPIOA、 AFIO   ①
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE); //使能TIM2掛載在APB1上的時(shí)鐘
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);  //使能GPIOA、復(fù)用功能時(shí)鐘AFIO
//TIM2定時(shí)器初始化   ②
TIM_TimeBaseInitStruct.TIM_Period=arr;  //重裝載值arr
TIM_TimeBaseInitStruct.TIM_Prescaler=psc;  //預(yù)分頻值psc
TIM_TimeBaseInitStruct.TIM_CounterMode=TIM_CounterMode_Up;  //向上計(jì)數(shù)模式
TIM_TimeBaseInitStruct.TIM_ClockDivision=0;  //時(shí)鐘分割為0 ,TDTS = Tck_tim
TIM_TimeBaseInit(TIM2,&TIM_TimeBaseInitStruct);
//TIM2定時(shí)器使能
TIM_Cmd(TIM2,ENABLE);
//TIM2通道2初始化  ③
TIM_OCInitStruct.TIM_OCMode=TIM_OCMode_PWM1;  //PWM模式1
TIM_OCInitStruct.TIM_OCPolarity=TIM_OCPolarity_High;  //高電平有效
TIM_OCInitStruct.TIM_OutputState=TIM_OutputState_Enable; //輸出比較使能
TIM_OC2Init(TIM2,&TIM_OCInitStruct);
//TIM2通道2預(yù)裝載寄存器使能
TIM_OC2PreloadConfig(TIM2,TIM_OCPreload_Enable);
//GPIO  PA1初始化   ④
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AF_PP; //復(fù)用推挽輸出
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_1;    //PA.1
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz; //50MHz速度
GPIO_Init(GPIOA,&GPIO_InitStruct);
}

首先我們先總結(jié)一下初始化pwm輸出的編程步驟:

步驟介紹

使能時(shí)鐘

初始化定時(shí)器

初始化定時(shí)器通道

初始化GPIO

現(xiàn)在我們一個(gè)點(diǎn)一個(gè)點(diǎn)的講解:

使能時(shí)鐘,這里 GPIO掛載在APB2總線上,之前文章說(shuō)過(guò),而我們要用到的TIM2是掛載在APB1上的,所以我們要使能的時(shí)鐘是RCC_APB1,這里要注意的是通用定時(shí)器是掛載在APB1上,高級(jí)定時(shí)器則是在APB2上?!狙a(bǔ)充:時(shí)鐘函數(shù)的申明在stm32f10x_rcc.h,這里是上一講寫(xiě)少了的】

這里我們要寫(xiě)的代碼是:

//時(shí)鐘使能 TIM2 、GPIOA、 AFIO   ①
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE); //使能TIM2掛載在APB1上的時(shí)鐘
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);  //使能GPIOA

初始化定時(shí)器,初始化定時(shí)器跟初始化GPIO的操作類似,我們先看看要用到的函數(shù)【定時(shí)器相關(guān)函數(shù)申明在文件stm32f10x_time.h中】:

圖片

這里函數(shù)的兩個(gè)參數(shù)一個(gè)是TIMx ,x可以是2,3,4,說(shuō)明這個(gè)初始化函數(shù)只適用在通用定時(shí)器初始化上,第二個(gè)參數(shù)是一個(gè)結(jié)構(gòu)體變量,里邊的成員有:

typedef struct
{
uint16_t TIM_Prescaler;        //預(yù)分頻值 
  uint16_t TIM_CounterMode;    //計(jì)數(shù)模式  
  uint16_t TIM_Period;          // 重裝載值
  uint16_t TIM_ClockDivision;     //時(shí)間分割
  uint8_t TIM_RepetitionCounter;  //重復(fù)計(jì)數(shù),就是重復(fù)溢出多少次才給你來(lái)一個(gè)溢出中斷,如果初始化為0的話,計(jì)數(shù)器溢出一次,中斷一次!
} TIM_TimeBaseInitTypeDef;

其中預(yù)分頻值跟重裝載值上邊講過(guò)了,計(jì)數(shù)模式有向上計(jì)數(shù)、向下計(jì)數(shù)、中央對(duì)齊模式(中央對(duì)齊模式有模式1、2、3),這里我們用到向上計(jì)數(shù)模式,對(duì)于向上計(jì)數(shù)模式在上邊有講過(guò)了,便是從0計(jì)數(shù)到ARR重裝載值,而向下計(jì)數(shù)的話便是從ARR計(jì)數(shù)到0。時(shí)間分割主要是用于數(shù)字濾波器相關(guān),我們?cè)诖擞貌坏街灰O(shè)置為0就好了,重復(fù)計(jì)數(shù)模式,在這里我們用不到,上邊注釋有稍微講了一下,可以自行再了解一下。所以這里我們要設(shè)置參數(shù)如下:

TIM_TimeBaseInitStruct.TIM_Period=arr;  //重裝載值arr
TIM_TimeBaseInitStruct.TIM_Prescaler=psc;  //預(yù)分頻值psc
TIM_TimeBaseInitStruct.TIM_CounterMode=TIM_CounterMode_Up;  //向上計(jì)數(shù)模式
TIM_TimeBaseInitStruct.TIM_ClockDivision=0;  //時(shí)鐘分割為0 ,TDTS = Tck_tim

ARR值與psc值我們作為參數(shù),在調(diào)用時(shí)再進(jìn)行設(shè)置。所以完整的初始化函數(shù)

TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStruct;   //定義結(jié)構(gòu)體變量
TIM_TimeBaseInitStruct.TIM_Period=arr;  //重裝載值arr
TIM_TimeBaseInitStruct.TIM_Prescaler=psc;  //預(yù)分頻值psc
TIM_TimeBaseInitStruct.TIM_CounterMode=TIM_CounterMode_Up;  //向上計(jì)數(shù)模式
TIM_TimeBaseInitStruct.TIM_ClockDivision=0;  //時(shí)鐘分割為0 ,TDTS = Tck_tim
    TIM_TimeBaseInit(TIM2,&TIM_TimeBaseInitStruct);

之后我們要對(duì)定時(shí)器使能,使用void TIM_Cmd();(省略參數(shù))

圖片

同樣,這個(gè)函數(shù)適用于通用定時(shí)器,使用比較簡(jiǎn)單,如下:

TIM_Cmd(TIM2,ENABLE);

這里第2步就寫(xiě)完了。

初始化定時(shí)器通道,通用定時(shí)器有4個(gè)通道上邊圖3有進(jìn)行講解,這里我們要用到是通道2即TIM2_CH2;每一個(gè)定時(shí)器通道都有單獨(dú)的初始化函數(shù)。

圖片

圖片

一樣是有兩個(gè)參數(shù),一個(gè)是定時(shí)器TIMx(同樣是只適用通用定時(shí)器2 3 4),一個(gè)是結(jié)構(gòu)體變量,我們看看結(jié)構(gòu)體變量里的成員。

typedef struct
{
  uint16_t TIM_OCMode;       //輸出模式
  uint16_t TIM_OutputState;   //輸出比較使能位
  uint16_t TIM_OutputNState;  //高級(jí)定時(shí)器輸出比較N狀態(tài)
  uint16_t TIM_Pulse;         //比較值(圖9 CCRx)
  uint16_t TIM_OCPolarity;      //輸出比較極性
  uint16_t TIM_OCNPolarity;  //高級(jí)定時(shí)器輸出比較N極性 
  uint16_t TIM_OCIdleState;   //設(shè)置高級(jí)定時(shí)器空閑狀態(tài) 
  uint16_t TIM_OCNIdleState;  //設(shè)置高級(jí)定時(shí)器N空閑狀態(tài)
} TIM_OCInitTypeDef;

我們用到的是通用定時(shí)器所以不用看那些高級(jí)定時(shí)器才能用的參數(shù),所以這里我們只要設(shè)置4個(gè)參數(shù)就可以了。首先第一個(gè)輸出模式。

圖片

這里我們用到PWM模式1,PWM模式2上邊有講到,至于其他的模式在此不叫講述,可以自行百度。

TIM_OCMode= TIM_OCMode_PWM1;

第二個(gè)TIM_OutputState這個(gè)是使能位,我們選擇使能就好了

TIM_OutputState=TIM_OutputState_Enable;

第三個(gè)是輸出極性,也就是我們要的是高電平有效還是低電平有效,這個(gè)跟我們LED引腳連接相關(guān),這里我們選擇高電平有效,LED的連接上我們將正極接到GPIO口上;

TIM_OCInitStruct.TIM_OCPolarity=TIM_OCPolarity_High;

第四個(gè)是比較值,我們?cè)诤筮呏骱瘮?shù)會(huì)用另一個(gè)函數(shù)直接設(shè)置,這個(gè)數(shù)也就是我們圖9CCRx對(duì)應(yīng)的那個(gè)值,也可以稱之為占空比,這里我們不用設(shè)置;

所以我們通道2初始化結(jié)構(gòu)體的參數(shù)設(shè)置是:

TIM_OCInitStruct.TIM_OCMode=TIM_OCMode_PWM1;
TIM_OCInitStruct.TIM_OCPolarity=TIM_OCPolarity_High;
TIM_OCInitStruct.TIM_OutputState=TIM_OutputState_Enable;

這里我們還需要通過(guò)void TIM_OC2PreloadConfig();(省略參數(shù))這個(gè)函數(shù)來(lái)使能通道2上的預(yù)裝載寄存器

圖片

他有兩個(gè)參數(shù),一個(gè)設(shè)置是哪個(gè)通用定時(shí)器,一個(gè)是使能,比較簡(jiǎn)單,這里直接設(shè)置:

TIM_OC2PreloadConfig(TIM2,TIM_OCPreload_Enable);

那么我們通道2初始化步驟完整的代碼如下:

TIM_OCInitTypeDef TIM_OCInitStruct;  //定義結(jié)構(gòu)體變量
//TIM2通道2初始化  ③
TIM_OCInitStruct.TIM_OCMode=TIM_OCMode_PWM1;  //PWM模式1
TIM_OCInitStruct.TIM_OCPolarity=TIM_OCPolarity_High;  //高電平有效
TIM_OCInitStruct.TIM_OutputState=TIM_OutputState_Enable; //輸出比較使能
TIM_OC2Init(TIM2,&TIM_OCInitStruct);
//TIM2通道2預(yù)裝載寄存器使能
TIM_OC2PreloadConfig(TIM2,TIM_OCPreload_Enable);

GPIO初始化,這里上一篇已經(jīng)講過(guò)了,不過(guò)這里要注意的是我們使用的是復(fù)用推挽輸出模式,這個(gè)是有固定要求的,可以查閱《stm32中文參考手冊(cè)》

圖片

那么GPIO初始化代碼如下【補(bǔ)充:GPIO系列函數(shù)申明在文件stm32f10x_gpio.h中】:

GPIO_InitTypeDef GPIO_InitStruct;
//GPIO  PA1初始化   ④
GPIO_InitStruct.GPIO_Mode=GPIO_Mode_AF_PP; //復(fù)用推挽輸出
GPIO_InitStruct.GPIO_Pin=GPIO_Pin_1;    //PA.1
GPIO_InitStruct.GPIO_Speed=GPIO_Speed_50MHz; //50MHz速度
GPIO_Init(GPIOA,&GPIO_InitStruct);

綜上,PWM.c文件中的PWM初始化函數(shù)就寫(xiě)好了,我們接著寫(xiě)主函數(shù)main.c,先看完整代碼:

#include "stm32f10x.h"
#include "delay.h"
#include "PWM.h"
 int main(void)
{  
int ledpwm=0;    //定義占空比變量
 TIM2_PWM_Init(899,0); //初始化PWM  ARR=899;PSC=0
delay_init();     //初始化延時(shí)函數(shù)
 while(1)
{
delay_ms(5);  //穩(wěn)定pwm波
for(ledpwm =0; ledpwm <=255; ledpwm ++)  //從0到255一個(gè)個(gè)加
{
TIM_SetCompare2(TIM2, ledpwm);  //設(shè)置TIM2_CH2占空比
delay_ms(10);       //延時(shí)10ms
}
for(ledpwm =255; ledpwm >=0; ledpwm --)  //從255到0,一個(gè)個(gè)減
{
TIM_SetCompare2(TIM2, ledpwm);   //設(shè)置TIM2_CH2占空比
delay_ms(10);       //延時(shí)10ms
}
}  
}

導(dǎo)入PWM.h頭文件,然后初始化pwm,arr=899,psc=0;初始化延時(shí)函數(shù),然后通過(guò)for循環(huán)從0到255計(jì)數(shù),這個(gè)相信有點(diǎn)C語(yǔ)言基礎(chǔ)的都沒(méi)問(wèn)題,然后是一個(gè)新函數(shù),void TIM_SetCompare2();設(shè)置通道2捕獲比較寄存器的值。

圖片

兩個(gè)參數(shù),一個(gè)是哪個(gè)通用定時(shí)器,一個(gè)是比較寄存器的值,比較簡(jiǎn)單,如下

TIM_SetCompare2(TIM2, ledpwm);

然后這里為什么是255呢,這個(gè)值是可以計(jì)算的,LED的最大亮度對(duì)應(yīng)的電壓通過(guò)占空比計(jì)算出對(duì)應(yīng)數(shù)值就好了,再大的數(shù)值對(duì)LED的亮度也就沒(méi)用了,亮度最大了,還可能燒壞LED。

Stm32的高電平 是5v 我們?cè)O(shè)置的ARR值是899,那么最大就是899,假設(shè)我們?cè)O(shè)置的比較值是450,那沒(méi)就是50%的輸出電平也就是2.5v,以此計(jì)算。

完整文件PWM.h PWM.c main.c就這三個(gè)文件要寫(xiě),寫(xiě)好了編譯燒寫(xiě)就可以了,在自己動(dòng)手實(shí)操一遍后建議換一個(gè)定時(shí)器和通道再操作一遍,會(huì)更加熟練。

四,燒寫(xiě)驗(yàn)證

話不多說(shuō),上圖(家里沒(méi)示波器,我用軟件調(diào)試來(lái)查看輸出的波形)

圖片

圖片

圖片

可以看到波形從小到大再到小(可以通過(guò)圖片下邊的時(shí)間結(jié)合波形寬度看出),再看看LED的變化:

可以看到LED漸漸從亮到暗再到亮,說(shuō)明我們實(shí)驗(yàn)結(jié)果完美達(dá)標(biāo)。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)投訴
  • 電機(jī)控制
    +關(guān)注

    關(guān)注

    3584

    文章

    2030

    瀏覽量

    274053
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3349

    瀏覽量

    121142
  • PWM波
    +關(guān)注

    關(guān)注

    0

    文章

    101

    瀏覽量

    17578
  • 呼吸燈
    +關(guān)注

    關(guān)注

    10

    文章

    115

    瀏覽量

    43670
  • STM32F103C8T6
    +關(guān)注

    關(guān)注

    110

    文章

    165

    瀏覽量

    87068
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    PWM驅(qū)動(dòng)LED實(shí)現(xiàn)呼吸效果

    C51 利用pwm 驅(qū)動(dòng)LED 實(shí)現(xiàn)呼吸效果
    的頭像 發(fā)表于 04-24 15:29 ?5134次閱讀
    <b class='flag-5'>PWM</b>驅(qū)動(dòng)LED<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>效果

    怎么通過(guò)PWM來(lái)實(shí)現(xiàn)呼吸

    說(shuō)下我是怎么通過(guò)這個(gè)PWM來(lái)實(shí)現(xiàn)呼吸的。硬件的準(zhǔn)備就不說(shuō)了,想實(shí)現(xiàn)
    發(fā)表于 08-11 06:17

    stm32是怎樣使用延時(shí)去實(shí)現(xiàn)一種呼吸

    stm32使用延時(shí)實(shí)現(xiàn)呼吸(寄存器)該實(shí)驗(yàn)是使用STM32F103C8T6實(shí)現(xiàn),使用寄存器編程
    發(fā)表于 01-17 07:14

    PWM實(shí)現(xiàn)呼吸的應(yīng)用

    stm32實(shí)現(xiàn)PWM最簡(jiǎn)單方法前言一、PWM概念二、PWM應(yīng)用輸出比較功能框圖三、PWM
    發(fā)表于 01-21 13:18

    STM32呼吸的原理是什么

    前段時(shí)間學(xué)習(xí)stm32的時(shí)候就做過(guò)呼吸實(shí)驗(yàn),瀏覽了一些博客后,做下總結(jié)呼吸原理其實(shí)是利用pwm
    發(fā)表于 02-21 07:26

    如何通過(guò)STM32103實(shí)現(xiàn)呼吸的亮滅

    呼吸,也就是讓的亮度隨著時(shí)間的變化而變化,而要實(shí)現(xiàn)這個(gè)變化,我們需要通過(guò)占空比來(lái)完成,也就是是通過(guò)
    發(fā)表于 02-21 06:10

    請(qǐng)問(wèn)一下STM32 PWM是如何去實(shí)現(xiàn)呼吸設(shè)計(jì)的

    STM32 PWM實(shí)現(xiàn)呼吸使用STM32F103ZET6 定時(shí)器4 CH2通道產(chǎn)生
    發(fā)表于 02-21 07:30

    STM32實(shí)現(xiàn)PWM呼吸的程序合集免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是STM32實(shí)現(xiàn)PWM呼吸的程序合集免費(fèi)下載。
    發(fā)表于 03-19 08:00 ?16次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>PWM</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>的程序合集免費(fèi)下載

    使用STM32F103RB單片機(jī)實(shí)現(xiàn)PWM呼吸實(shí)驗(yàn)的資料免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用STM32F103RB單片機(jī)實(shí)現(xiàn)PWM呼吸實(shí)驗(yàn)的資料免費(fèi)下載。
    發(fā)表于 04-07 08:00 ?8次下載
    使用<b class='flag-5'>STM32</b>F103RB單片機(jī)<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>PWM</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>實(shí)驗(yàn)的資料免費(fèi)下載

    使用PWM控制LED實(shí)現(xiàn)呼吸的效果

    本文主要講解使用PWM控制LED,實(shí)現(xiàn)呼吸的效果。
    的頭像 發(fā)表于 02-08 17:50 ?1.5w次閱讀
    使用<b class='flag-5'>PWM</b>控制LED<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>的效果

    STM32_PWM呼吸

    全面屏發(fā)展,因此很多手機(jī)取消了呼吸這一功能,取而代之的是息屏顯示)2、什么是PWM?PWM:Pulse Width Modulation,脈沖寬度調(diào)制,是利用微處理器的數(shù)字輸出來(lái)對(duì)模
    發(fā)表于 11-26 12:21 ?20次下載
    <b class='flag-5'>STM32_PWM</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>

    STM32F103 呼吸實(shí)現(xiàn)

    呼吸,也就是讓的亮度隨著時(shí)間的變化而變化,而要實(shí)現(xiàn)這個(gè)變化,我們需要通過(guò)占空比來(lái)完成,也就是是通過(guò)
    發(fā)表于 12-24 19:28 ?16次下載
    <b class='flag-5'>STM32</b>F103 <b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>的<b class='flag-5'>實(shí)現(xiàn)</b>

    STM32 使用PWM實(shí)現(xiàn)呼吸

    STM32 PWM實(shí)現(xiàn)呼吸使用STM32F103ZET6 定時(shí)器4 CH2通道產(chǎn)生
    發(fā)表于 12-24 19:41 ?55次下載
    <b class='flag-5'>STM32</b> 使用<b class='flag-5'>PWM</b><b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>

    stm32使用延時(shí)實(shí)現(xiàn)呼吸寄存器版

    stm32使用延時(shí)實(shí)現(xiàn)呼吸(寄存器)該實(shí)驗(yàn)是使用STM32F103C8T6實(shí)現(xiàn),使用寄存器編程
    發(fā)表于 01-18 10:33 ?0次下載
    <b class='flag-5'>stm32</b>使用延時(shí)<b class='flag-5'>實(shí)現(xiàn)</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>寄存器版

    STM32G0開(kāi)發(fā)筆記:用PWM來(lái)實(shí)現(xiàn)LED呼吸效果

    使用Platformio平臺(tái)的libopencm3開(kāi)發(fā)框架來(lái)開(kāi)發(fā)STM32G0,下面使用PWM來(lái)實(shí)現(xiàn)LED呼吸效果。
    的頭像 發(fā)表于 01-16 15:15 ?2994次閱讀
    <b class='flag-5'>STM32</b>G0開(kāi)發(fā)筆記:用<b class='flag-5'>PWM</b>來(lái)<b class='flag-5'>實(shí)現(xiàn)</b>LED<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>效果