输出比较介绍
输出比较介绍
输出比较可以向外输出不同的波形,其中一个很重要的波形叫做PWM波,输出比较的模式选择如图
PWM波作用
可以调整占空比来模拟其他波形,如正弦,这次说的全都是PWM1,也就是CNT<=CCR输出高电平,CNT>CCR输出低电平
PWM占空比
高电平时间占整体的时间百分比
输出比较整体结构图
如何产生PWM
计时器CNT一直在增加,从0开始计,所以一开始比CCR小,输出高电压,大于之后输出低电压(PWM1模式)
设置PWM周期
通过设置时基单元的预分频器和自动重装寄存器可以设置PWM的周期,假设RCC来的是8MHZ,与分频器设为799,那么分频是799+1的800分频,计数频率为10KHZ,也就是每0.1ms计数一次,ARR为9,也就是十个数一个轮回,计到9再计一次变为0,计数周期为10次也就是1ms,每过10次也就是每过1ms,计数器CNT值都是一样的。
设置PWM占空比
设置CCR值可以设置占空比,CCR1=4,那么CNT<=4时为高电平,>4时为电平
占空比理解:CNT<=CRR为高电平,0的起点不算,只看终点:从0终点到4终点一共有5个数,一个数对应一段长度,所以是五段高电平,然后从0到9只看终点,一共是0~9有10个数对应一段长度,所以是整体是十段,占空比是高电平占整体的百分比,=五段/十段乘以百分百=50%
输出比较结构图放大
模式选择是选择哪一种工作模式,最常用的是PWM模式,极性选择类似于一个可以选择的反相器(可以反相也可以不反相,与下面极性选择器前面那个不同,那个是固定的反相器)。
模式选择
最常用PWM1,少数情况PWM2,其他六个基本用不上
正常输出和互补输出
假设极性选择一样,那么上下两个线输出是相反的
极性选择
Positive-正极性,信号原样输出
Negative-负极线,信号取反输出,相当于一个反相器
上下两个都是Positive
下面那个线有一个反相器,所以二者输出完全相反
上Positive,下Negative
下面那个线的取反再取反,二者完全一样
两个开关
一个是自己的开关,一个是整体的开关(MOE),都闭合了才能用
输出比较试验-呼吸灯实验
呼吸灯原理
不断改变占空比,来实现不同强弱的亮灯时长,宏观上看就是亮度在不断改变
整体代码
while循环中,第一行是获取ms级时间并转化为秒级时间,第二行计算占空比百分值,第三上是为了实现占空比来算出CRR值,第四行是实际设置CRR值