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.
工具与软件:
您好!
我在项目中遇到 PLL1滑动检测机制问题。
我想使用 checkPLL1Slip (void)函数强制 PLL1滑动。
我已经观察到该checkPLL1Slip
函数正在清除 ESM 状态寄存器(SR1
)中的 ESM 标志。
这会阻止esmLowInterrupt
esmGroup1Notification
按预期触发该功能。
HALCoGen 中已经全部配置好了。
任何人都可以就以下方面提供指导:
checkPLL1Slip
函数可能清除 ESM 标志并阻止esmGroup1Notification
对进行调用? 非常感谢您提出任何建议或见解。
谢谢!
尊敬的 Lija Cakovic:
这个函数"checkPLL1Slip"的用途不是创建 ESM 中断、其主要目的是强制 PLL 跳周并检查 PLL 的相应 ESM 标志是否被设置、这样、如果真正的 PLL 跳周错误发生、那么我们将正确地获得 ESM 通知。
这就是它们在检查差异检测后清除的原因。 实际上、这不是真正的 PLL 跳周错误、这里我们只是检查 PLL 跳周的 ESM 错误位。 如果 ESM 标志未针对 PLL 跳周设置、那么我们只需调用"selftestFailNotification 函数即可在实际错误发生前指示出错误。
因此、使用此函数、我们可以在实际错误触发前确保 PLL 差异的错误路径。
如果您也希望触发 PLL 强制跳周的 ESM 中断通知、那么您可以创建自己的 API、而不是 HALCoGen API、在该 API 中、您可以避免清除 ESM 标志来获得针对 PLL 跳周的 ESM 中断通知。
——
谢谢、此致、
Jagadish。