User Manual

PD57/60-1260 TMCL
Firmware Manual Firmware Version V1.44 | Document Revision V1.02 2018-SEP-05
20 / 107
3.5.6.3 Further Conguration of Interrupts
Some interrupts need further conguration (e.g. the timer interval of a timer interrupt). This can be done
using SGP commands with parameter bank 3 (SGP <type> , 3, <value>). Please refer to the SGP command
(chapter 3.6.7) for further information about that.
3.5.6.4 Using Interrupts in TMCL
To use an interrupt the following things have to be done:
Dene an interrupt handling routine using the VECT command.
If necessary, congure the interrupt using an SGP <type>, 3, <value> command.
Enable the interrupt using an EI <interrupt> command.
Globally enable interrupts using an EI 255 command.
An interrupt handling routine must always end with a RETI command.
Do not allow the normal program ow to run into an interrupt handling routine.
The following example shows the use of a timer interrupt:
1
VECT 0, Timer0Irq // define the interrupt vector
SGP 0, 3, 1000 // configure the interrupt : set its period to 1000 ms
3
EI 0 // enable this interrupt
EI 255 // globally switch on interrupt processing
5
// Main program: toggles output 3, using a WAIT command for the delay
7
Loop:
SIO 3, 2, 1
9
WAIT TICKS , 0, 50
SIO 3, 2, 0
11
WAIT TICKS , 0, 50
JA Loop
13
// Here is the interrupt handling routine
15
Timer0Irq :
GIO 0, 2 // check if OUT0 is high
17
JC NZ, Out0Off //jump if not
SIO 0, 2, 1 // switch OUT0 high
19
RETI //end of interrupt
Out0Off:
21
SIO 0, 2, 0 // switch OUT0 low
RETI //end of interrupt
In the example above, the interrupt numbers are being used directly. To make the program better readable
use the provided include le Interrupts.inc. This le denes symbolic constants for all interrupt numbers
which can be used in all interrupt commands. The beginning of the program above then looks as follows:
#include Interrupts .inc
2
VECT TI_TIMER0 , Timer0Irq
SGP TI_TIMER0 , 3, 1000
4
EI TI_TIMER0
EI TI_GLOBAL
©2019 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany
Terms of delivery and rights to technical change reserved.
Download newest version at www.trinamic.com