中级会员
- 积分
- 238
- 金钱
- 238
- 注册时间
- 2011-7-12
- 在线时间
- 0 小时
|
stm32定时器一些心得
stm32的普通定时器输出比较设置有些难理解,找了不少资料后,总结了以下观点(不一定对),还请纠错
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_Inactive;
//低电平
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_Pulse = 20000;
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;//高电平有效,CC1P=0,没有反相
所以输出电平为低电平。
主要是TIM_OCMode_Inactive和TIM_OCPolarity_High的关系要对应好。图中显示了它们关系。
TIM_OCMode_Inactive:输出比较非主动模式 (匹配时设置输出引脚为无效电平,当计数值为比较/捕获寄存器值相同时,强制输出为低电平)
TIM_OCPolarity_High: 高电平有效,对应CC1P为0,即原值输出(没反相),所以总的输出为低电平。
我在实验班上实验,对应TIM_OCPolarity_High时,Timing,Inactive,模式,都输出为低电平,toggle输出高电平应该是对的,可Active模式对应
TIM_OCPolarity_High时,输出为低电平,这就不对了,TIM_OCMode_Active为高电平,所以输出应该高电平,这样解释对不对? |
|
|