我开发了一个 ECAP 模块驱动器、用于从连接的外设读取脉冲输入。 为了对我的驱动器进行单元测试、我在 TMS320F280049评估模块上配置了2个 GPIO、以便为控制器上的2个 ECAP 模块提供输入、我将通过将波形发生器上2个独立通道的 PWM 脉冲馈送到这两个引脚来测试 ECAP 功能。
当我更改两个通道上的频率时、我可以观察到捕获寄存器值的变化。
但是、当我禁用波形发生器输出时、我希望捕获寄存器复位为0 (因为在 GPIO 上没有检测到脉冲)。 这不是发生的。 捕获寄存器会保留上次捕获时的值、当我观察 ECAP 寄存器时、TSCTR (时间戳计数器寄存器会不断递增)。
为什么会发生这种情况?
我的配置设置如下:
GPIO 鉴定:6个样本
捕捉模式:连续、在 ECAP_EVENT_4处回绕
极性:在 CAP1和 CAP3上上升、在 CAP2和 CAP4上下降。
运行模式:Delta (每次捕捉时计数器复位)
ECAP 同步模式:同步输入时同步输出
ECAP_EVENT_4上启用 ECAP 中断