这个TIMx_OCMode实际上对应于TIMx_CCMR1和TIMx_CCMR2寄存器的OC1M、OC2M、OC3M和OC4M域,他们的对应关系是(y=1、2、3或4): TIMx_OCMode_Timing:OCyM = 000 冻结。输出比较寄存器TIMx_CCR1与计数器TIMx_CNT间的比较对OC1REF不起作用。 TIMx_OCMode_Active:OCyM = 001 匹配时设置通道1为有效电平。当计数器TIMx_CNT的值与捕获/比较寄存器1(TIMx_CCR1)相同时,强制OC1REF为高。 TIMx_OCMode_Inactive:OCyM = 010 匹配时设置通道1为无效电平。当计数器TIMx_CNT的值与捕获/比较寄存器1(TIMx_CCR1)相同时,强制OC1REF为低。 TIMx_OCMode_Toggle:OCyM = 011 翻转。当TIMx_CCR1=TIMx_CNT时,翻转OC1REF的电平。 TIMx_OCMode_PWM1: OCyM = 110 PWM模式1 TIMx_OCMode_PWM2: OCyM = 111 PWM模式2
如果你要使用PWM模式2,则选用TIMx_OCMode_PWM2。
如果需要选用“中间对齐模式2计数模式”应使用TIM_TimeBaseInit()函数中的TIM_CounterMode指定,或使用TIM_CounterModeConfig()选定,设定TIM_CounterMode=TIM_Counter_CenterAligned2。
|