STM32学习笔记(6)——PWM输出

本文介绍了如何使用STM32的TIM3通道2进行PWM输出,以实现LED呼吸灯效果。内容包括开启时钟、复用功能设置、GPIO初始化、TIM3配置以及PWM模式设置,详细解析了影响PWM周期和占空比的关键参数。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

脉冲宽度调制(PWM),是英文“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。

直接通过代码来解释:

void TIM3_PWM_Init(u16 arr,u16 psc)
{
   
   
	GPIO_InitTypeDef GPIO_InitStucture;
	TIM_TimeBaseInitTypeDef TIM_TimeBaseInitStucture;
	TIM_OCInitTypeDef TIM_OCInitStucture;
	
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_AFIO,ENABLE);
	RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3,ENABLE);//第一步:使能时钟
	
	GPIO_PinRemapConfig(GPIO_PartialRemap_TIM3,ENABLE);//第三步:端口复用(重映射)
	
	GPIO_InitStucture.GPIO_Mode=GPIO_Mode_AF_PP;
	GPIO_InitStucture.GPIO_Pin=GPIO_Pin_5;
	GPIO_InitStucture.GPIO_Speed=GPIO_Speed_50MHz;
	GPIO_Init(GPIOB,&GPIO_InitStucture);//第二步:初始化GPIO设置
	
	TIM_TimeBaseInitStucture.TIM_ClockDivision=0;
	TIM_TimeBaseInitStucture.TIM_CounterMode=TIM_CounterMode_Up;
	TIM_TimeBaseInitStucture.TIM_Period=arr;
	TIM_TimeBaseInitStucture.TIM_Prescaler=psc;
	

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值