引言
继续来更新嵌入式这个系列,再说一遍,这个系列我一般都会使用寄存器来编写,具体原因:
一、相比于库函数来说寄存器比较难编写,得具体根据芯片手册来编写。
二、能够通过寄存器的形式来让大家更加的清楚每一行代码为什么要写成这个值,具体是怎样编写的。
原理部分:
1.//从上图中我们可以知道ARR寄存器决定于周期T。
//CCRx寄存器决定于占空比α。
2.在TIMx_CCMRx寄存器中的OCxM位写入’110’(PWM模式1)或’111’(PWM模式2),能够独立地设置每个OCx输出通道产生一路PWM。
3.必须设置TIMx_CCMRx寄存器OCxPE位以使能相应的预装载寄存器,最后还要设置TIMx_CR1寄存器的ARPE位,(在向上计数或中心对称模式中)使能自动重装载的预装载寄存器。
4.OCx的极性可以通过软件在TIMx_CCER寄存器中的CCxP位设置,它可以设置为高电平有效或低电平有效。
5.TIMx_CCER寄存器中的CCxE位控制OCx输出使能。
6.在PWM模式(模式1或模式2)下,TIMx_CNT和TIMx_CCRx始终在进行比较,(依据计数器的计数方向)以确定是否符合TIMx_CCRx≤TIMx_CNT或TIMx_CNT≤TIMx_CCRx。
7.