打印
[MM32软件]

怎么知道MCU是否是异常复位?

[复制链接]
楼主: 单芯多芯
手机看帖
扫描二维码
随时随地手机跟帖
41
tifmill| | 2024-12-12 16:12 | 只看该作者 回帖奖励 |倒序浏览
在MCU中实现异常处理机制,如异常中断服务程序,以便在异常发生时能够及时响应和处理。

使用特权

评论回复
42
phoenixwhite| | 2024-12-12 16:36 | 只看该作者
检查复位电路的硬件连接,包括RC积分电路、二极管、电阻等元件是否正常。

使用特权

评论回复
43
uiint| | 2024-12-12 17:02 | 只看该作者
检查堆栈是否溢出,以及内存是否存在非法访问或损坏。

使用特权

评论回复
44
adolphcocker| | 2024-12-12 17:28 | 只看该作者
合理配置看门狗定时器,以防软件跑飞导致的异常复位。

使用特权

评论回复
45
geraldbetty| | 2024-12-12 17:58 | 只看该作者
读取这些寄存器可以确定是上电复位(POR)、硬件复位、看门狗复位、软件复位等。

使用特权

评论回复
46
10299823| | 2024-12-12 18:23 | 只看该作者
MCU的供电稳定,使用稳压器和滤波电路来减少电源噪声

使用特权

评论回复
47
claretttt| | 2024-12-12 18:42 | 只看该作者
利用调试工具(如JTAG、SWD等)连接MCU,并设置断点或监视特定寄存器的值,可以帮助实时监控MCU的状态和行为,从而更准确地判断复位原因。

使用特权

评论回复
48
uptown| | 2024-12-12 19:07 | 只看该作者
在每次正常启动时写入特定的序列到EEPROM或Flash等非易失性存储器中。如果下次启动时发现这个序列不正确,则可以推断出发生了异常复位。

使用特权

评论回复
49
hudi008| | 2024-12-12 19:31 | 只看该作者
在某些MCU中,可以在后备寄存器或非易失性存储器中保存复位前的状态信息。
如果在复位后这些信息丢失或不一致,可能表明发生了异常复位。

使用特权

评论回复
50
phoenixwhite| | 2024-12-12 19:55 | 只看该作者
检查是否有软件复位寄存器的写入操作,触发软件复位。

使用特权

评论回复
51
pl202| | 2024-12-12 20:22 | 只看该作者
检查是否存在外部电磁干扰或静电干扰,导致MCU复位。

使用特权

评论回复
52
adolphcocker| | 2024-12-12 20:41 | 只看该作者
在软件中设置标志位,当复位发生时,检查该标志位的状态。

使用特权

评论回复
53
cemaj| | 2024-12-12 21:09 | 只看该作者
检查复位电路、电源电路和时钟电路,确保没有焊接问题或接触不良。特别是复位脚的配置,确保其连接正确。

使用特权

评论回复
54
juliestephen| | 2024-12-12 21:30 | 只看该作者
在MCU外围电路中增加保护措施,如瞬态电压抑制器(TVS)和静电放电(ESD)保护器件。

使用特权

评论回复
55
bestwell| | 2024-12-12 21:49 | 只看该作者
检查PCB设计,确保没有长走线引入干扰,特别是在复位脚和其他关键信号线上。

使用特权

评论回复
56
modesty3jonah| | 2024-12-12 22:13 | 只看该作者
检查电源质量是否稳定,包括电压波动、纹波等。

使用特权

评论回复
57
jonas222| | 2024-12-12 22:42 | 只看该作者
通过调试器捕获复位时刻的CPU状态,包括寄存器值、栈内容等

使用特权

评论回复
58
sdlls| | 2024-12-13 20:14 | 只看该作者
在MCU的软件中设置特定的标志,当软件正常关闭时清除这些标志,如果复位后这些标志仍然设置,则可能表明发生了异常复位。

使用特权

评论回复
59
pixhw| | 2024-12-13 20:39 | 只看该作者
使用调试工具              

使用特权

评论回复
60
软核硬核| | 2024-12-13 23:45 | 只看该作者
检查mcu的reset引脚(如nrst)的电平变化,可以通过外部电路(如上拉电阻、电容)记录复位状态。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则