STM32F103C8T6 PWM资源:
高级定时器(TIM1):7路
通用定时器(TIM2~TIM4):各4路
PWM输出模式:
*PWM模式1:在向上计数时,一旦CNT<CCRx时输出为有效电平,否则为无效电平
*PWM模式2:在向上计数时,一旦CNT<CCRx时输出为无效电平,否则为有效电平
PWM周期与频率:
PWM占空比:由TIMx_CCRx寄存器决定。
我们使用PWM实现一个呼吸灯效果。
PWM的CubeMX配置如下:
首先找到单片机中LED灯对应的通道,我的是TIM4,通道3。
其中CH Polarity为极性,因为LED灯点亮为低电平,所以设置为Low。
在程序中定时器初始化之后加上HAL_TIM_PWM_Start(&htim4, TIM_CHANNEL_3);//
以启动定时器PWM。
上文提到的CCRx使用以下语句配置,第三个参数pwmVal为自己定义的变量,它的大小就是CCRx的大小
__HAL_TIM_SetCompare(&htim4, TIM_CHANNEL_3, pwmVal);