主题中讨论的其他器件:C2000WARE
我们有一个单元使用内部 OSC2作为 PLL 的时钟源、该单元上电时似乎无法锁定。
我认为它停留在的代码位于 while 循环的 InitSysPll 函数中、以检查 PLL 是否已锁定
while (ClkCfgRegs.SYSPLLSTS.bit.locks!= 1)
我使用 C2000Ware 4.01版本。
但是、当使用 OSC1配置单元作为 PLL 时钟源时、不会发生此问题。
并且我没有看到看门狗复位、因此我认为代码卡在 PLL 锁定处、而不是等待在 PLL 锁定后检查时钟差异。
使用 JTAG 进行调试器复位时不会发生此问题。 它看起来在使用 JTAG 进行复位后正常工作。 仅在打开设备电源时才会出现此问题。
我有2个问题。
1.有没有任何变通办法可以使用 OSC2使 PLL 锁定? 我认为这应该是可能的、因为我看到 debugreset 可以使用 OSC2来使 PLL 锁定。 (我已经尝试了 WD 复位、但在复位后 PLL 未使用 OSC2锁定)
2.使用 OSC1代替 OSC2是否可以,因为 OSC1没有问题?
