pic_tick.h File Reference

Timer helper routines. More...

Include dependency graph for pic_tick.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void handle_tick ()
 Call this routine to increment tick count.
void handle_tick_inline ()
 Call this routine to increment tick count - inline version.
uns16 tick_calc_diff (uns16 a, uns16 b)
 Calculate the tick time difference between two values.
uns16 tick_get_count ()
 Return current tick count.

Variables

static uns16 tick = 0

Detailed Description


Function Documentation

void handle_tick (  ) 

Typically called during the interrupt routine of a timer to increment the tick count. Note this routine assumes that interupts are off - which is always the case in an interrupt sub routine.

00066                    {
00067    tick++;  // we assume that interrupts are off at this point
00068 }           

void handle_tick_inline (  )  [inline]

Typically called during the interrupt routine of a timer to increment the tick count. Note this routine assumes that interupts are off - which is always the case in an interrupt sub routine. Inline version so you don't use up one stack level

00084                                  {
00085    tick++;  // we assume that interrupts are off at this point
00086 }           

Here is the caller graph for this function:

uns16 tick_calc_diff ( uns16  a,
uns16  b 
)

Calculates how many ticks have elapsed between two tick values. Covers cases where the tick count wraps beyond its 16 bit value.

00058                                        {
00059     if (a <= b) {   // simple case
00060         return b-a;
00061     } else {
00062         return 65535 - a + b + 1;   // more complex case
00063     }
00064 }

Here is the caller graph for this function:

uns16 tick_get_count (  ) 

Returns the current tick count. Thread and interrupt safe.

00047                        {
00048 
00049 uns16 result;
00050 
00051     start_crit_sec();
00052     result = tick;  // Grab a copy
00053             
00054     end_crit_sec(); // interrupts back to normal
00055     return result;  // return the result
00056 }   

Here is the caller graph for this function:


Variable Documentation

uns16 tick = 0 [static]

Global tick counter


Generated on Fri Aug 19 09:08:52 2011 for Pic Pack Library by  doxygen 1.6.1