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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
03/07/05 11:25
Read: times


 
#89209 - ksfd
Responding to: ???'s previous message
"There are a few problems that can arise when using Keil C51 (and other) printf() routines."

Indeed, however these are well documented in the manual.

"Firstly printf() is genuinely stack intensive and falls over if you try to pass it too many variables and pointers."

How 'stack intensive' do you think printf() is? Note that printf() failures caused by passing too many arguments are not related to its stack usage.

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

Those examples will both fail, but not for the reasons you have given.

"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."

If you're running out of stack space the last thing you'd want to do is move variables into idata.

"Have a peek at my LCD code if you think that will narrow it down some also"

You need to fix your delay function.


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