User manual
TMCM-1021 TMCL Firmware V1.19 Manual (Rev. 1.04 / 2012-JUL-30)  17 
www.trinamic.com   
The following example shows the use of a timer interrupt: 
 VECT 0, Timer0Irq //define the interrupt vector 
 SGP 0, 3, 1000 //configure the interrupt: set its period to 1000ms 
 EI 0 //enable this interrupt 
 EI 255 //globally switch on interrupt processing 
//Main program: toggles output 3, using a WAIT command for the delay 
Loop: 
 SIO 1, 2, 1 
 WAIT TICKS, 0, 50 
 SIO 1, 2, 0 
 WAIT TICKS, 0, 50 
 JA Loop 
//Here is the interrupt handling routine 
Timer0Irq: 
 GIO 0, 2 //check if OUT0 is high 
 JC NZ, Out0Off //jump if not 
 SIO 0, 2, 1 //switch OUT0 high 
 RETI //end of interrupt 
Out0Off: 
 SIO 0, 2, 0 //switch OUT0 low 
 RETI //end of interrupt 
In the example above, the interrupt numbers are used directly. To make the program better readable use 
the  provided  include  file  Interrupts.inc.  This  file  defines  symbolic  constants  for  all  interrupt  numbers 
which can be used in all interrupt commands. The beginning of the program above then looks like the 
following: 
#include Interrupts.inc 
 VECT TI_TIMER0, Timer0Irq 
 SGP TI_TIMER0, 3, 1000 
 EI TI_TIMER0 
 EI TI_GLOBAL 
Please also take a look at the other example programs. 










