有时、以16MHz 运行的 MSP430F247板(具有5V 和3.3V 级联稳压器的12V 电源)出现问题、具体情况如下:
- 根据其他连接的器件、当12V 电源关断大约2秒时、MCU 电压不会降至2V 以下
- 当电源恢复到7V 以上并且 MCU 电压恢复到3.3V 时、MCU 不再启动
- 重复此操作会导致相同的问题、只有从12V 断开并重新连接电路板才能解决此问题
这是我的代码在启动时执行的操作:
- WDT 禁用
- SVSCTL = 0xA0 //将 SVS 监控设置为3.05V
- 等待大约200us、以确保 SVS 显示器工作正常
- while (SVSCTL & SVSOP); //等待3.05V 的电压
- 等待大约5ms、以确保电压达到3.3V (通常需要不到1ms)
- 将 MCLK 和 SMCLK 的 DCO 频率设置为16MHz
- 从 VLO 设置 AUX_CLK、稍后用于 WDT
- SVSCTL = 0 //禁用 SVS
- SVSCTL = 0xA8 //将具有 MCU 复位的 SVS 设置为3.05V
- …
我不明白为什么 MCU 有时会挂起且不再重新启动、因为当电压降至3.05V 以下时、应强制 MCU 复位、然后应在代码启动的第1步使用1MHz 时钟重新启动。
是否有任何建议或解决方法?
我无法添加硬件电压监控器、复位引脚上只有47k 和2200pF。
谢谢
Guido