每个相位都有一个状态字段,其中包含 PHASE_STATUS 标志的位掩码:gMetrologyWorkingData.phases[0].status。
下面列出了 metrology_defines.h 文件中定义的有用标志值:
- PHASE_STATUS_NEW_LOG (0x0001) — 后台已完成测量窗口;但前台尚未处理该测量值。
- PHASE_STATUS_V_OVERRANGE (0x0010) — 电压 ADC 输入达到终点限位(检测到削波)。
- PHASE_STATUS_I_OVERRANGE (0x0020) — 电流 ADC 输入达到终点限位。
- PHASE_STATUS_ZERO_CROSSING_MISSED (0x4000) — 预期的过零未在有效窗口内发生(频率超出范围或信号丢失)。
要检查是否已设置标志,请以十六进制格式显示状态字段或使用按位 AND 表达式:如果错过了过零,则 gMetrologyWorkingData.phases[0].status 和 0x4000 均不为零。
注: 要在不停止的情况下进行真正的实时监测,请启用 CCS 连续刷新模式(需要具有实时存储器访问功能的 XDS 调试探针)。启用连续刷新模式:
- 在 Expressions 窗口中右键选择 → Continuous Refresh → Enable。
- 在 CPU 继续运行时,这会定期轮询目标存储器。
- 启用此功能会增加总线流量,并可能影响实时性能。因此,请谨慎使用此模式。