STM32学习日志——PWM输出实验

2023-04-12 10:30   171   0  

今天学习的是通用定时器的比较输出功能,也就是PWM;从它的工作过程图中很容易看出,就是计数器与比较值CCRx作比较,可以产生对应的IO口逻辑。而具体的对应关系需要对相应的寄存器进行配置。1)首先是选择工作模式,即对CCMR1的OC1M[2:0]配置,模式1是计数器小于比较值为有效电平,模式2是计数器大于比较值为有效电平。2)其次配置输出极性,0为高电平有效,1为低电平有效。3)使能比较输出。


2fc25f12-ac53-11ed-bcd2-b8ca3a6cb5c4.webp2fc25f13-ac53-11ed-bcd2-b8ca3a6cb5c4.webp


在频率确定的情况下(上一节课有提到,通过预分频系数来设定),PWM的周期是由ARR自动重装载确定,占空比是由CCRx确定,通过对这两个参数的修改,就可以得到我们想要的脉冲波。


根据下面的步骤就可以输出PWM,因为使用的是PB5端口,所以需要开启TIM3的部分重映射。下面的程序可以产生LED灯亮度不断变化的效果,实际上就是呼吸灯。


2fc25f14-ac53-11ed-bcd2-b8ca3a6cb5c4.webp2fc25f15-ac53-11ed-bcd2-b8ca3a6cb5c4.webp2fc25f16-ac53-11ed-bcd2-b8ca3a6cb5c4.webp2fc25f17-ac53-11ed-bcd2-b8ca3a6cb5c4.webp2fc25f18-ac53-11ed-bcd2-b8ca3a6cb5c4.webp


之前大学的毕业设计做的是智能家居的控制,在模拟调节窗帘和调节灯亮度的功能,用的也是PWM。




登录icspec成功后,会自动跳转查看全文
博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。