初学stm32 --- 高级定时器输出比较模式
高级定时器输出比较模式实验原理
输出比较模式:翻转。当CNT = CCRx,OCxREF电平翻转
总结:PWM波周期或频率由ARR决定,占空比固定50%,相位由CCRx决定
高级定时器输出比较模式实验配置步骤
1,配置定时器基础工作参数 HAL_TIM_OC_Init()
2,定时器输出比较MSP初始化 HAL_TIM_OC_MspInit() 配置NVIC、CLOCK、GPIO等
3,配置输出比较模式等 HAL_TIM_OC_ConfigChannel()
4,使能通道预装载 __HAL_TIM_ENABLE_OCxPRELOAD()
5,使能输出、主输出、计数器 HAL_TIM_OC_Start()
6,修改捕获/比较寄存器的值 __HAL_TIM_SET_COMPARE()
相关HAL库函数介绍
关键结构体介绍
typedef struct
{
uint32_t OCMode; /* 输出比较模式选择 */
uint32_t Pulse; /* 设置比较值 */
uint32_t OCPolarity; /* 设置输出比较极性 */
uint32_t OCNPolarity; /* 设置互补输出比较极性 */
uint32_t OCFastMode; /* 使能或失能输出比较快速模式 */
uint32_t OCIdleState; /* 空闲状态下OC1输出 */
uint32_t OCNIdleState; /* 空闲状态下OC1N输出 */
} TIM_OC_InitTypeDef;