对于通过光耦到CPU管脚的开关量输入输出接口,打静电8000V,CPU会出现死机想象,有时候过上1~2分钟CPU会被看门狗复位活过来,有时候就彻底死了。
先讨论被看门狗救活的情况: 为什么会1~2分钟CPU才活,这段时间CPU在做什么:程序跑飞?晶振停振?还是进入了特权系统状态?调试状态?RAM运行状态?下程序状态? 肯定的是在CPU死了的时候,是无法通过串口下程序的。 还有点特奇怪,我把程序改成打开看门狗不喂它,用网友MSUISP的下载软件中的下载后执行,竟然看门狗要过1~2分钟才复位,而我从新上电后看门狗是立即复位的,这1~2分钟看门狗干什么去了? CPU死了,有时1~2分钟看门狗可把CPU给复位活了,有时就死翘翘了,这段时间CPU干什么去了,分钟看门狗干什么去了? 如果不开看门狗,CPU死了也就死了,彻底不会活。开了看门狗,CPU有时可立即活,有时过段时间活,有时活不了?
是STM32的内置看门狗不可靠,还是CPU不可靠,还是我的软硬件有问题,希望大家给点思路或想法
|