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.
您好!我是用该型号mcu做交流电压电流采样及两个GPIO输出驱动光耦传输电平信号,芯片外围电路如下,程序在AC小于110V,或者AC90V切到230V,MCU出现复位,程序初始化。请辅助分析一下,谢谢!
谢谢您的反馈。请问您是否在debug模式出现类似死机的情况?另外2x系列没有SYSRSTIV寄存器。但您可以通过一个技巧来检测由于掉电或RST信号“噪声”而导致的外部复位:只有POR才能复位timer寄存器。因此,如果您更改tiemr寄存器并在启动时对照默认值对其进行检查(在更改之前),则可以确定您是来自POR还是来自PUC。
如果是PUC,则有多种原因:空闲的内存访问,密码不正确等。一般真正的原因通常是堆栈溢出或堆栈损坏,或者对数组的越界写访问。这通常是由代码概念中的设计缺陷引起的,难以跟踪。
堆栈溢出的典型原因是:过多的局部变量,递归,在ISR内启用GIE等。
抱歉,回复有些晚了。
从您测试timer来看,看起来像是POR引起的reset。一旦观察到MCU复位故障,若是将RST引脚物理短路了,MCU会重新开始工作吗?
另外您的VCC以及RST引脚是否有使用示波器观察?
代码的话,我目前没有看出有什么问题。您也可以烧录TI例程看一下是否还会有这种问题。一般来说硬件上出现问题的概率比较大。
Susan,MCU发生复位后程序初始化后重新运行,有用示波器观测rest引脚,可以测到短暂的低电平信号,请提供方案判定复位源,按照操作方法步骤,现象,及现象对应说明问题,列一下,谢谢!
MSP430AFE253上没有PUC指示器标志,数据表6.5 Special Function Registers 概述了此部分的特殊功能寄存器:http : //www.ti.com/lit/ds/symlink/msp430afe253.pdf
同样在第10页上有图例,可用于确定PUC重置或设置的位。
用户指南http://www.ti.com/lit/ug/slau144j/slau144j.pdf也有表格 ,例如Table 8-2. Digital I/O Registers的表格,其中提到了初始状态以及是否已设置初始状态/用PUC重置。