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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
01/04/08 10:07
Read: times


 
#149031 - Delay functions
Responding to: ???'s previous message
You might want to give your delay function a more meaningful name that makes the units of the parameter obvious; eg,
void Wait_1us ( Uint8 n );  // Wait n+2 us
void Wait_10us( Uint8 n );  // Wait 10n us
... or whatever.

When I did this, for Wait_1us, I couldn't get over the 2us "overhead" in the call, so I created a macro WAIT_1US to handle the offset:
#define WAIT_1US( us ) Wait_1us( us-2 )
With Wait_10us, there was plenty of slack to take up to allow for the overhead...

See: http://www.keil.com/forum/docs/thread2938.asp

List of 27 messages in thread
TopicAuthorDate
Number of CPU cycle for 8051 function call            01/01/70 00:00      
   Do it in assembler            01/01/70 00:00      
   Delay functions            01/01/70 00:00      
   A related trick            01/01/70 00:00      
      Offset            01/01/70 00:00      
         Offset            01/01/70 00:00      
            Sure            01/01/70 00:00      
               Over Drive?            01/01/70 00:00      
      a refinement            01/01/70 00:00      
      NOPs are so bad waste of space...            01/01/70 00:00      
         waste of space... waste of time            01/01/70 00:00      
            fixed delay            01/01/70 00:00      
               Variable delay            01/01/70 00:00      
                  determinism of the cache            01/01/70 00:00      
               there are no cache misses in 'linear code'            01/01/70 00:00      
                  I got only ONE cache miss...            01/01/70 00:00      
      Old Keil Thread            01/01/70 00:00      
   What about a Delay like this.            01/01/70 00:00      
      No, it won't.            01/01/70 00:00      
         Ok.            01/01/70 00:00      
         also            01/01/70 00:00      
      Also ...            01/01/70 00:00      
         Actually...            01/01/70 00:00      
            will.            01/01/70 00:00      
               ANSI C            01/01/70 00:00      
                  Keil option: Disable ANSI casts            01/01/70 00:00      
         typo.            01/01/70 00:00      

Back to Subject List