您好!
我使用玻璃破裂探测器示例代码、但我注意到有时它会在上电后挂起。
我将 RESET 引脚拉至低电平和高电平以强制 MCU 复位、然后它将正常工作。
尝试重新加电有时工作正常、但有时不工作。
我看到了勘误表、我认为它可能是由 BCL12或 BCL13引起的、但我不知道解决它。
我使用 slac599 示例代码(sb想 使用的是 s条 目)。
谢谢。
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.
您好!
我使用玻璃破裂探测器示例代码、但我注意到有时它会在上电后挂起。
我将 RESET 引脚拉至低电平和高电平以强制 MCU 复位、然后它将正常工作。
尝试重新加电有时工作正常、但有时不工作。
我看到了勘误表、我认为它可能是由 BCL12或 BCL13引起的、但我不知道解决它。
我使用 slac599 示例代码(sb想 使用的是 s条 目)。
谢谢。
感谢您的回复。
在添加延迟之前、我注意到 MCU 在从电源加电时将 BSCCTL1和 DCOCTL 设置为12MHz 后挂起。
根据您的建议,我在 main()的第二行(在看门狗设置之后)添加了延迟 ,它看起来工作正常。
由于 BCL13是 DCO 上电暂停、因此其权变措施是在所有上电/下电周期场景下施加 Vcc 上电斜升>=10V/秒。
关于 BCL13、我认为这只能由硬件解决、但为什么要在设置 BSCCTL1和 DCOCTL 之前添加延迟来解决这个问题? 因为在设置 BSCCTL1和 DCOCTL 之前、等待电源升至3V 也可以解决 BCL13、对吧?
您无需查看勘误表即可查看(可能的)原因。 查看数据表(SLAS504G)图1:CPU 将在大约1.8V 的电压下启动。 如果您在电源斜升至2.7V 之前将 CPU (DCO)设置为12MHz、则运行超出规格(对于工作电压而言太快)。 TI 不会说在这种情况下会发生什么、但观察到的行为是程序执行以各种方式出现故障。
整整一秒钟是一段很长的时间、因此称为"诊断"。 您可能会少一些:
1) 1)观察示波器上的功率斜升、并选择合适的时间和/或
2)提升电源以获得更快的斜坡和/或
3) 3)串行降低延迟、直到您看到故障、然后将其升高一个位("填充")和/或
4) 4)执行一些其他初始化代码、然后在您准备好"上线"时返回并加快 DCO 的速度。
ADC 在通道11上提供 Vcc/2 [参考数据表第51页]、这可能很有用。 在这种情况下、我没有尝试使用它(而是使用(2))。