首先介绍一下官方手册中所说的“定时器不工作”是什么意思:与输出使能(MOE)没有关系。定时器的工作与否,说的是定时器各通道的工作与否,就是CCxE和CCxNE是否为0。当CCxE=0就是某通道不工作,CCxNE=0就是某通道的互补通道不工作。 一, OSSR:该位的作用是:当MOE=1的时候(MOE=0时,OSSR为0或为1不起任何作用),也就是允许各通道电平向引脚出时,引脚上电平的状态应该按什么原则变化。 当OSSR=0时,(1)当某一个通道和它的互补通道,有且仅有一个通道不工作时,也即CCxE=0,CCxNE=1或者CCxE=1,CCxNE=0时。假如CCxE=0,CCxNE=1那么该通道对应引脚上的电平应该是:本通道对应的引脚上输出低电平,本通道互补通道对应的引脚上输出本通道的参考信号(OCxREF xor 极性)。(2)如果本通道和互补通道都不工作:CCxE=0且CCxNE=0时,对应引脚上的电平都强制为低电平,不由定时器驱动; 当OSSR=1时,(1)当某一个通道和它的互补通道,有且仅有一个通道不工作时,假如CCxE=0,CCxNE=1那么该通道对应引脚上的电平应该是:本通道对应的引脚上输出本通道上的无效电平,本通道互补通道对应的引脚上输出本通道的参考信号(OCxREF xor 极性)。(2)如果本通道和互补通道都不工作:CCxE=0且CCxNE=0时,对应引脚上的电平为本通道上的极性电平CCXP。 二, OSSI:该位的作用是:当MOE=0的时候(MOE=1时,OSSR为0或为1不起任何作用),也就是允许各通道电平向引脚出时,引脚上电平的状态应该按什么原则变化。 当OSSI=0时,(1)当某一个通道和它的互补通道,有且仅有一个通道不工作时,也即CCxE=0,CCxNE=1或者CCxE=1,CCxNE=0时。假如CCxE=0,CCxNE=1那么该通道对应引脚上的电平应该是:本通道和互补通道输出禁止,经过一段死区时间后输出空闲状态电平OISx和OISxN。(2)如果本通道和互补通道都不工作:CCxE=0且CCxNE=0时,对应引脚上的电平都强制为本通道上的极性电平,不由定时器驱动; 当OSSI=1时,(1)当某一个通道和它的互补通道,有且仅有一个通道不工作时,假如CCxE=0,CCxNE=1那么该通道对应引脚上的电平应该是:本通道和互补通道输出无效电平,经过一段死区时间后输出空闲状态电平OISx和OISxN。(2)如果本通道和互补通道都不工作:CCxE=0且CCxNE=0时,对应引脚上的电平都强制为本通道上的极性电平,不由定时器驱动。 |
OSSI是指MCU的主时钟挂掉以后,各个通道的状态。
这样设计我们感觉是从安全冗余角度出发的,如果不是这个功能,那就是画蛇添足了。当然我看了很久off_state不知道是什么意思,但是我从他们的表格和下面的注释推断出来就是 时钟off_state.
确定吗?按我的解释,在做方波驱动电机的时候是非常有用的啊
是的
加油,硬件用什么电路搭的,能看看吗?