您好、
按照以下顺序、
您能告诉我们如何在发生 comp 事件后重新启动 sdfm comp 过滤器吗?
我们的解决方法是正确的顺序?
1)(SDFM 初始化(数据滤波器、比较滤波器和 CMPH/Cmpl))
2)(发生比较事件)
3)我们在 SDIFLG 寄存器中得到每个 comp 事件的预期值。
4) 4)我们使用 SDIFLGCLR 寄存器清除所有位。 (=在 SDIFLGCLR 上写入0x80FFFFFFU )
-> SDIFLG 寄存器= 0
5) (发生比较事件)->未检测到
我们将4)更改为以下。 之后、 当 COMP 事件发生时、我们将在 SDIFLG 上获得预期值。
4) 4)我们使用 SDIFLGCLR 寄存器清除所有位。
->
4-1) SDCPARMx.bit.CEN = 0
4-2) SDIFLGCLR = 0x80FFFFFFU
4-3) SDCPARMx.bit.CEN = 1
在我看来、软件可以通过 SDIFLGCLR 寄存器清除所有 COMP 滤波器的所有锁存状态。
然而、这不是 SDFM 比较器滤波器的实际行为。
您能告诉我们为什么事件被清除后 COMP 滤波器输出事件的状态?
此致、
秀彦