TMCL: Timer Interrupts
TMCL is the simple way to implement your motion control application. With this series of simple coding examples we want to provide you an easy start.
This program demonstrates how to use the timer interrupt. To use this program connect LEDs to OUT_0 and OUT_1. The LED at Port OUT_1 is toggling at 2 Hz using the WAIT command. Connect a LED to Port OUT_0 and it will be toggling at 1 Hz using the timer interrupt.
Before use: Restore Factory Defaults
// *** Interrupt initialization *** // VECT 0, Timer0Irq //defines the interrupt vector for the timer 0 interrupt SGP 0, 3, 1000 //configure the timer interrupt: set its period to 1000ms EI 0 //enable timer interrupt EI 255 //globally switch on interrupt processing // *** Main Loop *** // loop: SIO 1, 2, 1 //switch OUT_1 high WAIT TICKS, 0, 50 //wait 0.5 seconds. 50 * 10ms SIO 1, 2, 0 //switch OUT_1 low WAIT TICKS, 0, 50 //wait 0.5 seconds. 50 * 10ms JA loop //jump to loop // *** Interrupt routine *** // Timer0Irq: GIO 0, 2 //check if OUT_0 is high JC NZ, Out0Off //jump to Out0off if high SIO 0, 2, 1 //switch OUT_0 high RETI //end of interrupt Out0Off: SIO 0, 2, 0 //switch OUT_0 low RETI //end of interrupt
For more details look at TMCL_reference.pdf at http://www.trinamic.com/software-tools/tmcl-ide
This sample is tested with TMCM-1140, TMCM-1161, TMCM-6110.
November 26, 2015 / Jonas P. Proeger / 1