SetTickCount

Availability All terminals
Description This function (re)sets the number of timer ticks that have occurred since the startup of the operating system. If the timer reaches 65535 ticks it automatically resets back to 0.
This function makes it possible to manipulate multiple timed processes that run "simultaneously" in an application.
Syntax void SetTickCount( unsigned int value);
Arguments
unsigned int value
The tick count is (re)set to this value.
Returns None
Remarks The timer tick counter can retrieved by the function GetTickCount.

When only 1 timer is needed in your application, it's better to use the StartTimer() function.
Example
#include <stdio.h>
#include "lib.h"

#define HIGH_DELAY      ( 13 * 5 )      //Note that these are prime numbers
#define MEDIUM_DELAY    ( 23 * 5 )
#define LOW_DELAY       ( 37 * 5 )

void main( void )
{
    unsigned long current_time;
    unsigned long next_high_time;
    unsigned long next_medium_time;
    unsigned long next_low_time;

    SetTickCount(0);      //Reset tick count to zero

    next_high_time = HIGH_DELAY;
    next_medium_time = MEDIUM_DELAY;
    next_low_time = LOW_DELAY;

    printf("\n3 independent\ntimers using\nGetTickCount");

    for(;;)
    {
        current_time = GetTickCount();

        if(current_time>=next_low_time)
        {
            Sound( TSTANDARD, VSTANDARD, SLOW, 0);
            GoodReadLed(RED,10);
            next_low_time += LOW_DELAY;
        }

        if(current_time>=next_medium_time)
        {
            Sound( TSTANDARD, VSTANDARD, SMEDIUM, 0);
            GoodReadLed(ORANGE,10);
            next_medium_time += MEDIUM_DELAY;
        }

        if(current_time>=next_high_time)
        {
            Sound( TSTANDARD, VSTANDARD, SHIGH, 0);
            GoodReadLed(GREEN,10);
            next_high_time += HIGH_DELAY;
        }

        Idle();
    }
}