| 
 
  
    | 
    
    
    Command | 
    
    
    TIMER | 
   
  
    | 
    
      | 
    
  | 
   
  
    | 
    Description | 
    
    
    Twenty (20) count-down timers with 1ms 
  resolution - TIMER0 
  to TIMER19 - v49.25 | 
       
    
    | 
    
      | 
    
  | 
   
  
    | 
    
    Syntax/Parameters | 
    
    TIMER0 - TIMER19 | 
   
  
    | 
    
      | 
    
  | 
     
  
    | 
    Options | 
    
   
  To setup the interrupts: 
      
  
  
  
  
      
  
  INT(name,TIMER0,function); 
  to 
  INT(name,TIMER19,function); 
  
  To read the remain time before expiry 
  
          LOAD(var,TIMER0); 
 
  
     
  
  To run  the 
  timer once 
 
  
        LOAD(TIMER0,time);   //
  time 
  is in milliseconds 
   
  To run 
  the timer multiple times 
 
  
        LOAD(TIMER0,time,num);     //
  time 
  is in milliseconds 
        num 
  is number of times timer runs, 1 = 1 time, 2 = 2 times etc, 0 = non-stop 
        
   
      To 
  clear the timer 
      
  
   LOAD(TIMER0,0); 
     | 
   
  
    | 
    
      | 
    
  | 
   
  
    | 
    Example | 
    
  
        LOAD(TIMER6,1000);     // TIMER6 runs once and expires after one second 
  LOAD(TIMER9,1000,0);  
  // TIMER9 runs forever, expiring every second 
  LOAD(TIMER14,500,5);  
  // TIMER14 runs five times, expiring every 500ms 
  LOAD(TIMER3,0);          
  // Clear TIMER3 
  LOAD(TIMER17,time);  
    // TIMER17 runs once and expires after value in var time | 
   
  
    | 
    
      | 
    
  | 
   
   
  
    | 
    Update Information | 
	
	
  
    
		
             Version  | 
			 Title  | 
			Date    | 
             Details  | 
   		 
        
            49.48  | 
             System Timer Accuracy  | 
            21 Nov 13   | 
			 | 	
		 
        
            * Fixed accuracy of 200us system tick timer - used for incrementing counters CNTRUN, CNTMILLI, ... CNTDAYS, TIMER0-TIMER19, and decrementing WAIT(). * Wrong divider value was being used. Needed to be divider value minus one. * This resulted in a tick value of 200.174us rather than 200us. * Assuming a perfect crystal frequency giving a 92,000,000Hz clock then there would be a +0.87ms error for every second. 
             |  
            
                
                
                
                
             |    					
         
 
        
            49.25  | 
             Timers - Increased number of built-in timers from 10 to 20 ranging TIMER0..TIMER19  | 
            01 Nov 12   | 
			 | 	
		 
        
            * Increased number of built-in timers from 10 to 20 ranging TIMER0..TIMER19 
             |  
            
                
                
                
                
             |    					
         
 
        
            49.06  | 
             Internal Timer - General internal timer value made a volatile to guarantee correct value read.  | 
            29 Jun 12   | 
			 | 	
		 
        
            General internal timer value made a volatile to guarantee correct value read. 
             |  
            
                
                
                
                
             |    					
         
 
        
            49.00  | 
             Interrupts - Fixed problem with interrupts stopping after 255 interrupts  | 
            22 Mar 12   | 
			 | 	
		 
        
            Fixed problem with interrupts stopping after 255 interrupts 
             |  
            
                
                
                
                
             |    					
         
 
        
            49.00  | 
             Error Interrupt Handlers - Code now jumps to error handlers for Prefetch Abort, Data Abort, SWI, and Undefined Interrupts.  | 
            22 Mar 12   | 
			 | 	
		 
        
            Code now jumps to error handlers for Prefetch Abort, Data Abort, SWI, and Undefined Interrupts. 
             |  
            
                
                
                
                
             |    					
         
 
        
            48.24  | 
             Timers - Fixed problem with loading timer when timer name specified in lowercase.  | 
            10 Mar 12   | 
			 | 	
		 
        
            Fixed problem with loading timer when timer name specified in lowercase. Fixed problem with processing fast timer interrupts which caused application to sit in loop processing timer functions. 
             |  
            
                
                
                
                
             |    					
         
 
        
            47.04  | 
             Timer Interrupts  | 
            26 Jul 11   | 
			 | 	
		 
        
            Fixed problem with timer interrupt recursively re-entering when the timer is         reconfigured in the INT() handler. 
             |  
            
                
                
                
                
             |    					
         
 
        
            45.00  | 
             Timers (TIMER0 - TIMER9) - Ten (10) count-down timers with 1ms resolution have been added, TIMER0 to TIMER9  | 
            10 Jun 11   | 
			 | 	
		 
        
            Ten (10) count-down timers with 1ms resolution have been added, TIMER0 to TIMER9
         To setup the interrupts:             INT(name,TIMER0,function); to INT(name,TIMER9,function);
         To read the remain time before expiry            LOAD(var,TIMER0);             To run  the timer once               LOAD(TIMER0,time);   // time is in milliseconds
         To run the timer multiple times             LOAD(TIMER0,time,num);                            time is in milliseconds                      num is number of times timer runs, 1 = 1 time, 2 = 2 times etc, 0 = non-stop                To clear the timer               LOAD(TIMER0,0);
         LOAD(TIMER6,1000);   // TIMER6 runs once and expires after one second        LOAD(TIMER9,1000,0); // TIMER9 runs forever, expiring every second        LOAD(TIMER4,500,5);  // TIMER4 runs five times, expiring every 500ms        LOAD(TIMER3,0);      // Clear TIMER3        LOAD(TIMER7,time);   // TIMER7 runs once and expires after value in var time 
             |  
            
                
                
                
                
             |    					
         
 
   
	 
     
	 | 
 
 
 |