找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5197|回复: 3
收起左侧

求救:STM32F042K6T6高低温测试时死机

[复制链接]
ID:213801 发表于 2017-6-22 18:00 | 显示全部楼层 |阅读模式
最近公司有个项目上面用的STM32F042K6T6做CAN通信。现在做高低温测试时总是死机,平时都是正常的,高温最高60度,低温最低-20度,死机不是发生在高温或者低温,而是发生在从60度恢复到0度或者从-20度恢复到0度。MCU已经使用了IWDG和WWDG,但是都起不到复位的作用,求救啊!

参考原理图

参考原理图
回复

使用道具 举报

ID:123289 发表于 2017-6-22 22:43 | 显示全部楼层
多半是:
程序中有死待某个标记,用C写的程序常有此问题(因为按正常逻辑及状况,这个标记一定会出现,程序未考虑循特殊情况的出现)。
比如:某个硬件在异常状态下给不出标记时,程序又死等它出现。

我一般比较注意有死等某个标记地方,在死等的语句中插入时间限制(时间由中间程序控制,计时与死待无关),等不到标记,但时间到了就跳出。
如何找到死等的点呢?
给程序运行加追踪器:
比如:程序有10个步骤或任务或其它什么,用一个寄存器R_RUN,运行到任务1就让R_RUN=1,运行到任务N就让R_RUN=N。也就是说只要知道R_RUN的值就能知道程序运行到什么任务(地方)。
当看门狗复位动作时,运行一个输出R_RUN的程序(写一个显示程序或其它可以输出的方式)
这样你就知道,程序死在什么地方了。任务分得越细越易找到问题。
回复

使用道具 举报

ID:213935 发表于 2017-6-23 09:25 | 显示全部楼层
不懂,完全看不懂
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表