PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Frage zu TIMER



QED
10.01.2009, 09:56
Hallo zusammen,
kann mir jemand sagen, warum die Var. Flag in der Do Loop Schleife im Simulator nicht hochgezählt, sondern immer nur mit 0 ausgegeben wird? Obs in der Schaltung funktioniert, hab ich noch nicht getestet, im Simulator bleibt sie 0. Beispiel stammt aus der RN-Wissendatenbank

$regfile = "m8def.dat" 'für Mega8
$crystal = 8000000 'für 8MHz Quarz

Config Portd = Output 'definiert Portd als Output

Config Timer1 = Timer , Prescale = 256 'Konfiguriere Timer1
Enable Timer1 'schalte den Timer1 ein
On Timer1 Isr_von_timer1 'verzweige bei Timer1 überlauf zu Isr_von_Timer1
Enable Interrupts
Timer1 = 34285 'Timer1 soll schon von 34285 wegzählen
dim Flag as byte

Do
print Flag
Loop
End

Isr_von_timer1: 'ISR von Timer1
Timer1 = 34285 'Timer1 soll wieder von 34285 wegzählen
Toggle Portd.0 'schaltet Portd.0 im Sekundentakt
'EIN und AUS
Flag = Flag + 1

Return

Mit freundlichen Grüßen QED

mycroc
10.01.2009, 10:43
Im Simulator musst du denn Interrupt manuel auslösen. Einfach unter Interrupst denn Button drücken. Es sind nur die Buttons aktiv die im Programm auch eingeschaltet worden sind.

QED
10.01.2009, 10:58
Hat funktioniert! Vielen Dank für den Tip, wieder was gelernt.
Freundliche Grüße QED