Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
05/29/10 12:18
Read: times


 
#176293 - Avoid infinite loops like the plague
Responding to: ???'s previous message
Potentially infinite loops should be avoided at (almost) all costs.

The main loop is an unconditional infinite loop.

You may have infinite loops while waiting for a watchdog to kick in and reset the processor.

Just about any other loop should have one or more well-defined ways to terminate. Waiting for an external event to "maybe" happen is not a well-defined way to terminate. There should also be timeouts or other events that may terminate the loop, to make sure that the code doesn't get stuck until the power is removed or the device receives exessive amounts of ESD or EMP.

List of 38 messages in thread
TopicAuthorDate
Trouble with interrupt driven comms on 80C320 serial port 1            01/01/70 00:00      
   CLR ES1?            01/01/70 00:00      
      Good idea but not the solution            01/01/70 00:00      
         As Erik posted, may be the etc. part            01/01/70 00:00      
   I cant' tell if there is a problem in ...            01/01/70 00:00      
      Which ... are you worrying about?            01/01/70 00:00      
         How about commenting "etc"            01/01/70 00:00      
         please post as is, not all the ...            01/01/70 00:00      
            Again without the conditionals            01/01/70 00:00      
               this is NOT an ISR            01/01/70 00:00      
                  Why will jnb RI,$ screw up?            01/01/70 00:00      
                     stick a state machine in the ISR            01/01/70 00:00      
                        To interrupt or not...            01/01/70 00:00      
                           an example            01/01/70 00:00      
                              Avoid infinite loops like the plague            01/01/70 00:00      
                                 Back to the subject - why won't it interrupt?            01/01/70 00:00      
                                    Serial Port Interrupts            01/01/70 00:00      
                                       Yes, I think I've done this correctly            01/01/70 00:00      
                                          Vector Address...            01/01/70 00:00      
                                             I think I've done this correctly...            01/01/70 00:00      
                                                you had me there            01/01/70 00:00      
                                                   Serial port, not port            01/01/70 00:00      
                                          maybe not            01/01/70 00:00      
                                             ES1 is non-standard            01/01/70 00:00      
                                                probably the most common misumderstanding            01/01/70 00:00      
                                                   Thanks for clarification...            01/01/70 00:00      
                                             It works without interrupts...            01/01/70 00:00      
                                                then ...            01/01/70 00:00      
                                                   Even Better ...            01/01/70 00:00      
                                    maybe it does            01/01/70 00:00      
                                       Two things argue against this...            01/01/70 00:00      
   Dunno, but that's a very useful instruction            01/01/70 00:00      
   Dunno..            01/01/70 00:00      
      I have problem with serial port 1 on ds89c450 (www.maxim-ic            01/01/70 00:00      
         MUCH better description needed            01/01/70 00:00      
            not it is not language            01/01/70 00:00      
               Which register bank are you using?            01/01/70 00:00      
                  yes it works now            01/01/70 00:00      

Back to Subject List