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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
12/02/08 11:58
Read: times


 
#160494 - No, it isn't
Responding to: ???'s previous message
Tsuneo Chinzei said:
the UART interrupt is enabled but no UART ISR is supplied.


Raj Nambiar said:
ISR is implemented through printf.

You said you're using Keil - and that is not true with Keil.

The default implementation in Keil is not interrupt driven - it simply polls TI.

If TI is not getting set, then it will hang waiting for it!


putchar is also implemented by printf itself.

Again, this is not true with Keil.

Keil provide you with a default implementation of putchar, and tell you how to modify it to your own needs if you wish.

The default polls TI; the source is provided - check it for yourself.

I forgot to mention that the printf is working absolutely fine.

How can you tell??

You have a program that hangs, and you don't know why - so how can you be sure that it's not printf?!

When the menu had to be expanded (only a small part is shown here), I switched over to printf/scanf..

and when did it start hanging...?

Now, I think the conclusion is, to explcitly define each variable at specific locations!!

On what basis do you reach that conclusion?

Is there any other way?

Check printf and its associated serial output...


List of 21 messages in thread
TopicAuthorDate
Program hangs at one point - 8051F340            01/01/70 00:00      
   Assembly window            01/01/70 00:00      
   hyper terminal interface            01/01/70 00:00      
      Stack size?            01/01/70 00:00      
         Stack size            01/01/70 00:00      
            Stack Management            01/01/70 00:00      
   Watchdog            01/01/70 00:00      
      stack and preview..            01/01/70 00:00      
         Limited stack            01/01/70 00:00      
      Where is the UART ISR?            01/01/70 00:00      
         ISR for UART            01/01/70 00:00      
            ISR for UART?            01/01/70 00:00      
               why "TI0=1;" is required            01/01/70 00:00      
            No, it isn't            01/01/70 00:00      
               Solved - I guess            01/01/70 00:00      
                  'polling' is NOT "standard C"            01/01/70 00:00      
                     You are right Erik..            01/01/70 00:00      
      Thought I will thank you individually..            01/01/70 00:00      
   Disable watchdog            01/01/70 00:00      
      and in Keil it is:            01/01/70 00:00      
         Status : WDT disabling in the status worked            01/01/70 00:00      

Back to Subject List