Der "neue" Timerwert sollte am Anfang der IRQ-Routine gesetzt werden. Ich habe es mal an mein Board angepasst und getestet.
Es blinkt unterschiedlich schnell. Je nachdem, welchen Wert Timer1 im Interrupt bekommt.
Du musst nur die LED-Ports und den richtigen Prozessor angeben.Code:$regfile "m32def.dat" $crystal = 16000000 $framesize = 24 $swstack = 8 $hwstack = 32 Config Timer1 = Timer , Prescale = 64 Enable Timer1 Timer1 = 65500 On Timer1 Servoirq Enable Interrupts Led1 Alias Portd.5 Led2 Alias Portd.6 Config Led1 = Output Config Led2 = Output Set Led1 Reset Led2 Waitms 500 Set Led2 'Portb.1 = 1 'gruen 'Portb.2 = 1 'rot 'Program-Time Waitms 1000 '############################################################################### 'main Do Reset Led2 Loop End '############################################################################### 'Interupt Servoirq: Timer1 = 30000 Toggle Led1 Return







Zitieren

Lesezeichen