打印
[MM32软件]

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

[复制链接]
3330|71
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
单芯多芯|  楼主 | 2024-11-22 19:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序有时候会自己跑飞,怎么知道芯片是异常导致的复位?有什么寄存器显示吗?

使用特权

评论回复
评论
qintian0303 2024-11-24 09:26 回复TA
复位后后会重新开始跑,增加个flash位识别就可以 
沙发
q1d0mnx| | 2024-12-5 22:09 | 只看该作者
这个好像识别不出来吧,你可以加个log试试

使用特权

评论回复
板凳
chenci2013| | 2024-12-6 20:21 | 只看该作者
观察MCU的复位引脚是否有异常的低电平信号,这可能是由于外部干扰或内部故障导致的复位

使用特权

评论回复
地板
houjiakai| | 2024-12-6 21:07 | 只看该作者
检查固件版本是否最新,是否存在已知的复位问题或漏洞。

使用特权

评论回复
5
louliana| | 2024-12-6 22:46 | 只看该作者
在代码调试过程中,注意观察程序是否按预期执行,特别是在复位点附近。

使用特权

评论回复
6
robertesth| | 2024-12-7 01:48 | 只看该作者
在主函数入口处检查复位源寄存器,并通过串口或其他方式记录复位原因。这样可以在异常复位发生后,通过日志记录来分析复位原因。

使用特权

评论回复
7
backlugin| | 2024-12-7 04:51 | 只看该作者
大多数MCU都有特定的寄存器来记录复位的原因。这些寄存器通常包含多个标志位,每个位代表一种复位类型(如上电复位、看门狗复位、低电压复位等)。通过读取这些标志位,可以确定复位的具体原因。

使用特权

评论回复
8
b5z1giu| | 2024-12-7 06:55 | 只看该作者
要确定微控制器单元(MCU)是否发生了异常复位,可以通过检查复位标志位来实现

使用特权

评论回复
9
cen9ce| | 2024-12-7 07:44 | 只看该作者
许多MCU在复位后会设置一个特定的标志位,表示复位的原因。例如,某些MCU会有一个复位状态寄存器,其中包含电源复位、看门狗复位、软件复位等标志位。你可以通过读取这些标志位来判断复位的原因。

使用特权

评论回复
10
lzmm| | 2024-12-7 07:55 | 只看该作者
如果MCU配置了看门狗定时器并且它在不应该触发的情况下触发了复位,这可能表明程序运行出现了问题,可能是由于软件错误或外部干扰造成的。

使用特权

评论回复
11
ex7s4| | 2024-12-7 09:21 | 只看该作者
如果MCU配置了看门狗定时器,并且看门狗定时器在复位后被触发,那么可能是由于程序运行异常导致的复位。检查看门狗定时器的复位标志位或状态寄存器,确认是否是看门狗复位。

使用特权

评论回复
12
kaif2n9j| | 2024-12-7 10:45 | 只看该作者
异常复位有时可能是由于电源电压不稳定或欠压导致的。使用示波器或电压表检查MCU的电源电压,确保其在正常工作范围内。

使用特权

评论回复
13
l1uyn9b| | 2024-12-7 11:41 | 只看该作者
如果MCU有外部复位引脚,检查外部复位信号是否被意外触发。使用逻辑分析仪或示波器观察复位引脚的信号变化。

使用特权

评论回复
14
lamanius| | 2024-12-7 13:45 | 只看该作者
在代码中添加异常处理机制,例如在主循环中定期检查某个变量或标志位,以判断程序是否进入了异常状态。如果发现异常,可以记录日志或触发特定的处理程序。

使用特权

评论回复
15
y1n9an| | 2024-12-7 14:41 | 只看该作者
使用调试器(如JTAG或SWD)连接到MCU,检查程序的执行路径和寄存器状态。

使用特权

评论回复
16
zhizia4f| | 2024-12-7 15:55 | 只看该作者
其实我觉得可以考虑用调试器,其可以帮助你定位程序崩溃或异常复位的具体位置。

使用特权

评论回复
17
w2nme1ai7| | 2024-12-7 16:36 | 只看该作者
检查MCU周围的硬件电路,确保没有短路、开路或其他硬件故障。例如,检查晶振是否正常工作,确保时钟信号稳定。

使用特权

评论回复
18
jkl21| | 2024-12-9 09:36 | 只看该作者
不同型号的MCU可能具有不同的复位机制和状态寄存器定义。因此,在判断复位原因时,应仔细查阅相关数据手册和参考资料。

使用特权

评论回复
19
minzisc| | 2024-12-9 12:36 | 只看该作者
MCU 的复位引脚连接了外部的复位电路,如手动复位按钮、电源监控芯片等。可以通过检查这些外部电路的状态来判断复位是否异常。

使用特权

评论回复
20
robertesth| | 2024-12-9 15:38 | 只看该作者
对于软件复位电路的问题,由于检修者通常无法直接着手检测和修复,因此应重点排查软件层面的异常。

使用特权

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

本版积分规则

2

主题

249

帖子

0

粉丝