??? 03/11/10 14:52 Read: times |
#173992 - Assume nothing! Be very meticulous in your observations Responding to: ???'s previous message |
Baptiste Pomechicot said:
I'll test to add a variable and set it in each function with a unique code in order to check the value after a freeze / reset.
About the watchdog : I'm sure to not feed the watchdog in an infinite loop. I activate it on the first instruction of my main() and I never disable it in my soft. I made a test with EA : I set EA to '0' just before entering a while (1), but the watchdog still works The purpose of the /EA signal is to tell the MCU whether (usually after the next RESET) you want the MCU to use external, when /EA's tied LOW, or internal, when /EA is tied HIGH, code space. I don't understand how you can determine anything at all if there's no external non-volatile memory of some sort. About the answer of Kai Klaas yesterday, The fact I shunt the /WE and the P4.0 PIN is not realy a problem because the micro start well. It's during execution that it freezes.
The chip is used on a board that is used for a weather sensor. The board is power on and works all the time. So, I've got some board that never freeze (since 4 years) and others that freeze sometimes (about once a week). It's realy random... I'd guess it's not so random at all. I'd guess that it's caused by some specific characteristic (a) of the boards that "freeze" or (b) of the hardware/software design that's implemented in them. I'd pay particularly close attention to what Kai Klass has said, since attaching any pin to control inputs can cause unanticipated effects. The MCU "does things" to the port pins on RESET. You should know EXACTLY what happens on those control pins during and immediately after a RESET. For that, you may need a logic analyzer. RE |