色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

基于stm32的PWM輸出呼吸燈(包括stm32呼吸燈代碼)

ss ? 來源:網(wǎng)絡(luò)整理 ? 2018-03-28 16:23 ? 次閱讀

基于stm32的pwm呼吸燈

使用定時器來控制I/O口輸出PWM波形,從而驅(qū)動LED燈出現(xiàn)類似呼吸頻率一般的亮滅。

硬件電路圖:

基于stm32的pwm呼吸燈

我的收獲:

基于stm32的pwm呼吸燈

這是STM32數(shù)據(jù)手冊上對TIM3通用定時器復(fù)用功能重映象的描述,假設(shè)讓PA6作為PWM輸出,從圖中可以看出PA6對應(yīng)TIM3的通道1,

使能TIM3通道1的函數(shù)為

TIM_OC1Init();1

同樣的,如果想要使能PA7,它對應(yīng)的是TIM3的通道2,那么使能通道2的函數(shù)便是:

TIM_OC2Init()1

以此類推,需要注意,使能不同相同定時器不同通道的函數(shù)是有一點(diǎn)小差別的,防止在程序中調(diào)用TIM_OC1Init()函數(shù)來使能TIM3通道2這種情況的發(fā)生。

基于stm32的pwm呼吸燈

注意看這里,假設(shè)使用的是TIM3的通道1,那么這里就要寫成

TIM3-》CCR11

類似的如果用TIM3定時器的通道2,這里就要相應(yīng)的改為

TIM3-》CCR21

這同樣是為了防止本來計(jì)劃使用的是TIM3的通道1,反而在這里自擺烏龍寫為了TIM-》CCR2的情況,這樣的錯誤一般很隱蔽,不容易查找。

相應(yīng)的程序已經(jīng)上傳,但是不知道為什么在這里無法顯示程序的下載地址,需要下載可以去我的資源里下載。

工程文件為

Progect–》RVMDK(uv4)–》iSO_STM32

基于stm32的pwm呼吸燈

STM32PWM輸出實(shí)現(xiàn)LED燈漸亮漸滅程序:

/**說明:

*PA0:KEY1;PA1:KEY2;

*PA2:LED1;PA3:LED2;

*PA9:USART1_TX;PA10:USART1_RX

*/

#include “stm32f10x.h”

#include “stm32f10x_rcc.h”

#include “stm32f10x_gpio.h”

#include “stm32f10x_tim.h”

#include “stm32f10x_pwr.h”

#include “stm32f10x_exti.h”

#include “system_stm32f10x.h”

#include “misc.h”

void RCC_Configuration(void);

void GPIO_Configuration(void);

void TIM2_Configuration(void);

void delay_ms(u16 time);

int main()

{

u8 led_fx=1;

u16 led_dt=0;

RCC_Configuration();

GPIO_Configuration();

TIM2_Configuration();

while(1)

{

delay_ms(10);

if(led_fx==1)

{

led_dt++;

}else{

led_dt--;

}

if(led_dt》100) led_fx=0;//可以和初始值一樣

if(led_dt==0) led_fx=1;

TIM_SetCompare3(TIM2,led_dt);//通道3沒有重影像是PA2對應(yīng)LED1

TIM_SetCompare4(TIM2,led_dt);//通道4沒有重影像是PA3對應(yīng)LED2

}

}

void RCC_Configuration(void)

{

SystemInit();

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);

RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);

//GPIO_AFIODeInit();和下面相同效果,可以查看源碼證明

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO,ENABLE);

}

void GPIO_Configuration(void)

{

GPIO_InitTypeDef GPIO_InitStructure;

//GPIO_PinRemapConfig(GPIO_PartialRemap2_TIM2,ENABLE);//端口映射函數(shù)

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2|GPIO_Pin_3;//GPIO_Pin_3對應(yīng)channel3,主函數(shù)改為:TIM_SetCompare3

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;

GPIO_Init(GPIOA, &GPIO_InitStructure);

}

void TIM2_Configuration(void)

{

TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;

TIM_OCInitTypeDef TIM_OCInitStructure;

TIM_DeInit(TIM2);

TIM_InternalClockConfig(TIM2);

//定時器初始化

TIM_TimeBaseStructure.TIM_Period = 100-1;//初始值是100,2MHz=2000KHz,2MHz/100=0.02MHz,所有周期T=1/0.02MHz=50us,示波器顯示周期應(yīng)該為50us

TIM_TimeBaseStructure.TIM_Prescaler = 36-1;//36倍分頻,72MHz/36=2MHz

TIM_TimeBaseStructure.TIM_ClockDivision = 0;

TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;

TIM_TimeBaseStructure.TIM_RepetitionCounter = 0;

TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);

//PWM初始化

TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;

TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;

TIM_OCInitStructure.TIM_Pulse = 50;//占空比值是50,所以占空比是:50/100=50%

TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_Low;

TIM_OC3Init(TIM2,&TIM_OCInitStructure);

TIM_OCInitStructure.TIM_Pulse = 20;

TIM_OC4Init(TIM2,&TIM_OCInitStructure);

//TIM_OC3PreloadConfig(TIM2,TIM_OCPreload_Enable);

//TIM_ARRPreloadConfig(TIM2, ENABLE);

TIM_Cmd(TIM2,ENABLE);

TIM_CtrlPWMOutputs(TIM2,ENABLE);

}

void delay_ms(u16 time)

{

u16 i=0;

while(time--)

{

i=12000;

while(i--);

}

}

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

    關(guān)注

    114

    文章

    5193

    瀏覽量

    214222
  • STM32
    +關(guān)注

    關(guān)注

    2270

    文章

    10910

    瀏覽量

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

    關(guān)注

    10

    文章

    110

    瀏覽量

    42769
收藏 人收藏

    評論

    相關(guān)推薦

    基于stm32PWM呼吸工程分享

    使用pwm波調(diào)整led的亮度,其中l(wèi)ed的文件包含在附件里面,代碼如下:通過TIM3通用定時器的CH1通道輸出一個PWM波,并調(diào)整
    發(fā)表于 07-02 07:51

    基于stm32PWM呼吸工程分享

    使用pwm波調(diào)整led的亮度,其中l(wèi)ed的文件包含在附件里面,代碼如下:通過TIM3通用定時器的CH1通道輸出一個PWM波,并調(diào)整
    發(fā)表于 07-06 07:37

    怎么通過PWM來實(shí)現(xiàn)呼吸

    說下我是怎么通過這個PWM來實(shí)現(xiàn)呼吸的。硬件的準(zhǔn)備就不說了,想實(shí)現(xiàn)呼吸的你這個硬件配置肯定是莫得問題。我重點(diǎn)說下這個
    發(fā)表于 08-11 06:17

    STM32Cube如何配置PWM呼吸

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

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

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

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

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

    STM32呼吸的原理是什么

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

    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>實(shí)現(xiàn)<b class='flag-5'>PWM</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>的程序合集免費(fèi)下載

    STM32_PWM呼吸

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

    STM32開發(fā)入門(三)——呼吸

    STM32開發(fā)入門(三)——呼吸
    發(fā)表于 12-07 17:36 ?25次下載
    <b class='flag-5'>STM32</b>開發(fā)入門(三)——<b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>

    STM32呼吸原理

    前段時間學(xué)習(xí)stm32的時候就做過呼吸實(shí)驗(yàn),瀏覽了一些博客后,做下總結(jié)呼吸原理其實(shí)是利用pwm
    發(fā)表于 12-24 19:27 ?20次下載
    <b class='flag-5'>STM32</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>原理

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

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

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

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

    基于HAL庫的STM32呼吸實(shí)驗(yàn)

    STM32 ,則可以更加便捷、靈活地實(shí)現(xiàn)呼吸的控制。因此,本文將介紹基于 STM32呼吸
    的頭像 發(fā)表于 05-14 16:41 ?2132次閱讀
    基于HAL庫的<b class='flag-5'>STM32</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>實(shí)驗(yàn)

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

    顧名思義,就是一個。的亮度的變化,由亮變暗,從暗變亮,有一個漸變,規(guī)律的變化,像是人的呼吸,是呼吸,所以叫
    的頭像 發(fā)表于 07-26 15:20 ?1.3w次閱讀
    通過<b class='flag-5'>STM32</b>實(shí)現(xiàn)<b class='flag-5'>PWM</b><b class='flag-5'>呼吸</b><b class='flag-5'>燈</b>的教程
    主站蜘蛛池模板: 亚洲精品久久7777777| 55夜色66夜亚洲精品播放| 日韩欧美群交P内射捆绑| 青青草偷拍国产亚洲欧洲| 欧美人妖12p| 青柠视频在线观看高清HD| 秋霞成人午夜鲁丝一区二区三区| 日本特黄网站| 午夜影院c绿象| 一级片mp4| 99精品网站| 俄罗斯黄色大片| 国产欧美在线亚洲一区刘亦菲| 护士喂我吃乳液我脱她内裤| 亚洲欧美综合中文| 在线播放成人无码日| 99免费视频观看| 国产成人在线视频网站| 紧致肉肉高h| 男人到天堂a线牛叉在线| 日韩一区二区天海翼| 亚洲国产成人爱AV在线播放丿| 一个色综合久久| 99久久亚洲综合精品| 国产精品久久久久久人妻香蕉| 久久re这里精品在线视频7| 欧美精品3atv一区二区三区| 无人区免费一二三四乱码| 在线精品视频成人网| 草莓在线观看| 湖南电台在线收听| 牛牛在线国产精品| 午夜免费福利小电影| 中文字幕精品无码一区二区| 抽插内射高潮呻吟爆乳| 精品高潮呻吟99AV无码视频| 女教师の诱惑| 亚洲精品国产熟女久久久| 99久久精品免费看国产一区二区三区| 光溜溜的美女直播软件| 久久黄色录像|