Thread 中讨论的其他器件:C2000WARE
工具与软件:
Hello group 存在 CMPSS 行为类似问题、请帮忙!
非常奇怪的情况是、C2000Ware 驱动程序库调用无法清除数字滤波器的输出锁存(CTRIPH/CTRIPL)
为什么可以清除 CMPSSn 数字锁存器切换寄存器 CMPSSCLR 锁存器(CTRIPH/CTRIPL)位 CCS 调试寄存器视图、而不是通过库软件调用?
看似清除信号需要三个 SYSCLK 周期来清除这两个高侧低直流滤波器锁存器。 下面的 while 环路代码应该位触发锁存器清除位、对吧?
调用两个驱动程序库调用的奇怪应用不对清除数字滤波器锁存位执行任何操作。
还在设置 PWM 驱动、PWM 故障、PWM 启用、禁用调用的几个函数下方添加了锁存清除代码。
for (cnt = 0; cnt < 3; cnt++);
{
EALLOW;
// SW Reset comparator digital filter output H/L latch status
while(HWREGH(hobj->cmpssHandle[cnt] + CMPSS_O_COMPSTS) &= (not==) CMPSS_COMPSTS_COMPHLATCH)
{
CMPSS_clearFilterLatchHigh(hobj->cmpssHandle[cnt]);
//DEVICE_DELAY_US(1);
}
//
while(HWREGH(hobj->cmpssHandle[cnt] + CMPSS_O_COMPSTS) &= (not==) CMPSS_COMPSTS_COMPLLATCH)
{
CMPSS_clearFilterLatchLow(hobj->cmpssHandle[cnt]);
//DEVICE_DELAY_US(1);
}
EDIS;
}



