stm32 TIM_OCPolarity输出比较极性的高低是什么意思?

2025-03-31 13:41:53
推荐回答(4个)
回答1:

输出比较极性的指的是你在比较匹配之后输出口输出的极性。
这个函数就是让你设置有效极性,也就是设置比较输出的有效电平。你可以设置为高电平有效或者低电平有效。
如果设置为高电平有效,那么当定时器比较匹配之后,输出口输出高电平,否则就反一下。

欢迎追问。

回答2:

输出比较极性的指的是你在比较匹配之后输出口输出的极性。

这个函数就是让你设置有效极性,也就是设置比较输出的有效电平。你可以设置为高电平有效或者低电平有效。

如果设置为高电平有效,那么当定时器比较匹配之后,输出口输出高电平,否则就反一下。

始化函数定义: 

void TIM_Configuration(void);   //定义TIM初始化函数 

d)初始化函数调用: 

TIM_Configuration();   //TIM初始化函数调用 

e)初始化函数,不同于前面模块,TIM的CAP初始化分为三部分——计时器基本初始化、通道初始化和时钟启动初始化: 

void TIM_Configuration(void)//TIM2的CAP初始化函数 。

回答3:

这是我查到的最靠谱的回答:
TIM_OCPolarity的电平问题,需要结合TIM_OCMode两者共同决定。
TIM_OCInitStruct.TIM_OCMode = TIM_OCMode_PWM1; //跳变后电平
TIM_OCInitStruct.TIM_OCPolarity = TIM_OCPolarity_High;//高极性,极性不翻转,REF波形直接输出,当计数器的值小于通道的比较值时,输出引脚为高电平,大于比较值时为低电平
TIM_OCInitStruct.TIM_OCPolarity = TIM_OCPolarity_Low; //低极性,极性翻转,REF电平取反,当计数器的值小于通道的比较值时,输出引脚为低电平,大于比较值时为高电平
TIM_OCInitStruct.TIM_OCMode = TIM_OCMode_PWM2;//跳变前电平
TIM_OCInitStruct.TIM_OCPolarity = TIM_OCPolarity_High;//高极性,极性不翻转,REF波形直接输出,当计数器的值小于通道的比较值时,输出引脚为低电平,大于比较值时为高电平
TIM_OCInitStruct.TIM_OCPolarity = TIM_OCPolarity_Low; //低极性,极性翻转,REF电平取反,当计数器的值小于通道的比较值时,输出引脚为高电平,大于比较值时为低电平

回答4:

TIM_TimeBaseStructure.TIM_Period=199; //计数器初值
TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;
TIM_OCInitStructure.TIM_Pulse=150;
则计数0-150为高,151-199为低