General purpose timer in C language single thread (original)