新手入门
- 积分
- 13
- 金钱
- 13
- 注册时间
- 2018-3-21
- 在线时间
- 0 小时
|
1金钱
定时器1的OC1和OC1N互补,OC2和OC2N互补,N5和N8是一组,N6和N7是组分别控制正负电压的导通,
可是接下来很多人写H桥的程序看不太懂。
如下例子,为什么OC2设置的输出极性和OC1一样都是High呢?这样左半桥不就和右半桥输出一样了吗,OC1=1,OC1N=0;
同时OC2=1,OC2N=0;这样怎么能产生逆变呢,是不应该把定时器通道2的输出极性设置成与1相反或者模式改成PWM2模式才行的通吗?
例:
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable;
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High;
TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Reset;
TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCNIdleState_Reset;
TIM_OCInitStructure.TIM_Pulse = ((Fsys / Fpwm) * 50) / 100;
TIM_OC1Init(TIM1,&TIM_OCInitStructure);
TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1;
TIM_OCInitStructure.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_OutputNState = TIM_OutputNState_Enable;
TIM_OCInitStructure.TIM_OCPolarity = TIM_OCPolarity_High;
TIM_OCInitStructure.TIM_OCNPolarity = TIM_OCNPolarity_High;
TIM_OCInitStructure.TIM_OCIdleState = TIM_OCIdleState_Reset;
TIM_OCInitStructure.TIM_OCNIdleState = TIM_OCNIdleState_Reset;
TIM_OCInitStructure.TIM_Pulse = ((Fsys / Fpwm) * 50) / 100;
TIM_OC2Init(TIM1,&TIM_OCInitStructure);
|
|