STM32F103CB在用在低功耗场合,时间长了会死机,怎么回事?

2019-07-21 05:50发布

STM32F103CB在用在低功耗场合,时间长了会死机,怎么回事?芯片采用内部晶振HIS

工作流程:单片机正常工作--> 6秒后配置串口为外部中断,进入STOP--》串口接收到数据触发外部中断唤醒 --》唤醒后,重新配置时钟、配置串口,执行串口指令操作  --》6秒内无操作进入STOP

问题:这个工作流程正常是没有问题的,但是运行几个小时就会死机,没有反应。有个IO口在STOP时为低,正常为高,测量该IO口可以判断,在死机的时候非STOP状态。

初步修改程序:唤醒后直接执行软复位,死机现象会明显减少,但是还是会有。
复位、重新上电后可以恢复正常。

各位帮忙看下,多谢!


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
玻璃之城2046
1楼-- · 2019-07-21 10:40
初步发现根本原因:进入休眠之前,配置IO口为外部 中断,此时一定要清除外部中断标志位,否则造成死机假象。
深层次原因正在研究
lvkanger
2楼-- · 2019-07-21 13:29
1.加独立看门狗。2.查看进入stop模式前的设置是否都正常。
玻璃之城2046
3楼-- · 2019-07-21 14:34
初步判断:休眠后配置串口为外部中断,没有情况触发标志位,造成休眠后立马被唤醒,然后就会死机。具体原因未知

一周热门 更多>