This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我开发了一个 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 中断
行为就是我所期望的。 在输入引脚发生事件时、增量时间值会加载到捕获寄存器中。 在本例中、事件是两个连续脉冲的上升沿和下降沿。 如果没有事件、则不会更新寄存器。
此致、
Richard