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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
03/06/05 14:39
Read: times


 
#89192 - Possibilities
Responding to: ???'s previous message
There are a few problems that can arise when using Keil C51 (and other) printf() routines. Firstly printf() is genuinely stack intensive and falls over if you try to pass it too many variables and pointers. This is particularly noticeable when compiling for the small memory model.

ie printf("lots of constant info %d, 5); // should work
printf("lots of constant info %d ,%d, %d, 5, 6, 7); // doesn't

The second (illustrative) example leads to unpredictable results.

Also, genuinely stack intensive functions tend to fall over a bit when stack space gets lowish. I would tend to think that your LCD driver is pushing you over the limit, and that it's time to shift some variables out to idata or beyond.

Maybe that's a help...maybe not. Have a peek at my LCD code if you think that will narrow it down some also.

http://www.iinet.net.au/~vanluynm

Regards,
Murray R. Van Luyn.

List of 38 messages in thread
TopicAuthorDate
LCD<            01/01/70 00:00      
   must be a bug in lcd_write()            01/01/70 00:00      
      no bug            01/01/70 00:00      
      Bug in lcd_write            01/01/70 00:00      
         Another test            01/01/70 00:00      
         Not quite            01/01/70 00:00      
            Stand corrected            01/01/70 00:00      
               further corrected            01/01/70 00:00      
                  Makes sense            01/01/70 00:00      
                     Delay after the character write?            01/01/70 00:00      
                        unknown bug            01/01/70 00:00      
                           ANSI divergence            01/01/70 00:00      
                              Are you sure?            01/01/70 00:00      
                                 skdjfhg            01/01/70 00:00      
                                    It realy works fine with UART            01/01/70 00:00      
                                       Story so far            01/01/70 00:00      
   Keil and Function pointers?            01/01/70 00:00      
   Simulator            01/01/70 00:00      
      Kaiwalya - O.T            01/01/70 00:00      
         Let me try            01/01/70 00:00      
   Post the real code            01/01/70 00:00      
   Possibilities            01/01/70 00:00      
      ksfd            01/01/70 00:00      
         Troll            01/01/70 00:00      
            the real issue            01/01/70 00:00      
               Corrections            01/01/70 00:00      
               Small but fast            01/01/70 00:00      
                  MIPS            01/01/70 00:00      
            Corrections            01/01/70 00:00      
               sldkjf            01/01/70 00:00      
            dkfuhg            01/01/70 00:00      
               Corrections            01/01/70 00:00      
               Corrections            01/01/70 00:00      
                  got curious and looked            01/01/70 00:00      
               I'm wrong - Damn!            01/01/70 00:00      
                  debugging            01/01/70 00:00      
                     Post you real code            01/01/70 00:00      
   How to initilize 4X20 LCD            01/01/70 00:00      

Back to Subject List