??? 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... |
Topic | Author | Date |
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 |