打印
[MM32软件]

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

[复制链接]
楼主: 单芯多芯
手机看帖
扫描二维码
随时随地手机跟帖
21
mollylawrence| | 2024-12-10 12:39 | 只看该作者 回帖奖励 |倒序浏览
电源滤波不足、电磁干扰、PCB布局不合理等都可能影响

使用特权

评论回复
22
claretttt| | 2024-12-10 14:02 | 只看该作者
在MCU中实现异常记录机制,如使用EEPROM或闪存记录复位前的关键信息。

使用特权

评论回复
23
AloneKaven| | 2024-12-10 15:11 | 只看该作者
加打印日志吧

使用特权

评论回复
24
phoenixwhite| | 2024-12-10 15:36 | 只看该作者
大多数 MCU 都有内置的复位标志寄存器。

使用特权

评论回复
25
adolphcocker| | 2024-12-10 16:36 | 只看该作者
如果NRST引脚(外部复位引脚)被拉低,且持续时间超过一定阈值(通常为20us),则会导致系统复位。因此,检查NRST引脚的电平状态也是判断复位原因的一种方法。

使用特权

评论回复
26
lzbf| | 2024-12-10 18:03 | 只看该作者
检查MCU的复位引脚(如NRST)的电平变化,可以通过外部电路(如上拉电阻、电容)来记录复位状态。

使用特权

评论回复
27
jonas222| | 2024-12-10 18:59 | 只看该作者
特别注意看门狗定时器的配置,确保其正常工作。

使用特权

评论回复
28
mollylawrence| | 2024-12-10 20:30 | 只看该作者
通过测量电源电压或检查电源管理电路,可以判断是否存在欠压情况。

使用特权

评论回复
29
timfordlare| | 2024-12-11 17:11 | 只看该作者
使用JTAG、SWD或者其他调试接口连接到MCU,并利用调试工具读取复位原因和其他相关信息。

使用特权

评论回复
30
pentruman| | 2024-12-11 20:04 | 只看该作者
异常复位可能由电源问题或时钟问题引起。检查电源电压是否稳定,是否在MCU规定的范围内。同时,确保时钟配置正确,没有超出MCU的主频工作范围。

使用特权

评论回复
31
alvpeg| | 2024-12-11 20:59 | 只看该作者
大多数MCU都会有一个或多个状态寄存器,这些寄存器在复位时会设置特定的位来指示复位的原因。

使用特权

评论回复
32
louliana| | 2024-12-11 21:26 | 只看该作者
如果怀疑硬件问题,可以通过电路分析来检查复位电路的元件,比如检查复位电容、电阻是否损坏,是否有短路或断路情况。

使用特权

评论回复
33
chenci2013| | 2024-12-11 22:21 | 只看该作者
查看复位源寄存器              

使用特权

评论回复
34
fengm| | 2024-12-12 10:58 | 只看该作者
许多MCU内部都有复位标志位,可以通过读取这些标志位来判断复位的原因

使用特权

评论回复
35
ingramward| | 2024-12-12 11:21 | 只看该作者
复位脚电平跳变或处于非预期的电平。
程序无法进入用户main()程序。
系统功能失控,表现为死机、重启或异常行为。

使用特权

评论回复
36
elsaflower| | 2024-12-12 11:49 | 只看该作者
在可能的情况下,记录MCU的操作和事件到日志中,如果在日志中发现了不正常的序列或中断,可能表明发生了异常复位。

使用特权

评论回复
37
hilahope| | 2024-12-12 13:16 | 只看该作者
使用外部电路监控MCU的电源,如果检测到电源异常(如下冲、过压等),可能会触发异常复位。

使用特权

评论回复
38
burgessmaggie| | 2024-12-12 14:12 | 只看该作者
检查软件代码,避免无限循环、内存泄漏等问题

使用特权

评论回复
39
earlmax| | 2024-12-12 15:25 | 只看该作者
检查喂狗操作是否合理,包括通讯是否完整、喂狗时机是否恰当、喂狗任务是否阻塞等。

使用特权

评论回复
40
eefas| | 2024-12-12 15:49 | 只看该作者
在某些情况下,程序可能会因为某些条件不满足而主动调用复位函数(如NVIC_SystemReset())。如果怀疑是软件复位导致的异常,可以检查程序中是否有相关的复位调用。

使用特权

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

本版积分规则