PWM输出

本文介绍了脉冲宽度调制(PWM)的基本概念,包括PWM的工作原理、模式及配置步骤。PWM通过微处理器控制,可以实现模拟电路的高效管理。文章详细阐述了PWM模式1和模式2的区别,并提供了配置PWM输出的具体步骤,如设置寄存器、使能时钟和IO口等,以调整占空比和频率。
摘要由CSDN通过智能技术生成

PWM输出

脉冲宽度调制(PWM),即“Pulse Width Modulation”的缩写,简称脉宽调制,是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术。简单来说,就是对脉冲宽度的控制。
PWM工作过程(以通道1为例)
在这里插入图片描述
CCR1:捕获比较(值)寄存器(X=1,2,34):设置比较值。
CCMR 1:OC1M[2:0]位:
对于PWM方式下,用于设置PWM模式1【110】 或者PWM模式2【111】
CCER:CC1P位:输入捕获1输出极性。0:高电平有效,1:低电平有效。
CCER:CC1E位:输入/捕获1输出使能。0:关闭,1:打开。
PWM模式1:在向上计数时,一旦TIMx_CNT<TIMx_CCR1时通道1为有效电平,否则为无效电平;在向下计数时,一旦TIMx_CNT>TIMx_CCR1时通道1为无效电平(OC1REF=0),否则为有效电平(OC1REF=1)。
PWM模式2:在向上计数时,一但TIMx_CNT<TIMx_CCR1时通道1为无效电平,否则为有效电平;在向下计数时,一旦TIMx_CNT>TIMx_CCR1时通道1为有效电平,否则为无效电平。
PWM模式
脉冲宽度调制模式可以产生一个由TIMx_ARR寄存器确定频率、由TIMx_CCRx寄存器确定占空比的信号。
在TIMx_CCMRx寄存器中的OCxM位写入“110”(PWM模式1)或“111”(PWM模式2),能够独立地设置每个OCx输出通道产生一路PWM。必须设置TIMx_CCMRx寄存器OCxPE位以使能相应的预装载寄存器,最后还要设置TIMx_CR1寄存器的ARPE位,(在向上计数或中心对称模式中)使能自动重装载的预装载寄存器。

//设置比较值函数:
void TIM_SetCompareX(TIM_ TypeDef* TIMx, 
uint16_t Comparex);
//使能输出比较预装载:
void TIM_ OCxPreloadConfig(TIM_TypeDef* TIMx, 
uint16_t TIM_OCPreload);
//使能自动重装载的预装载寄存器允许位
void TIM_ ARRPreloadConfig
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值