da iss glaubich wohl einiges falsch ^^
1. nen timer muss man meiner meinung nach auch starten
2. du hast kein return-jump in deiner isr, d.h. das programm beendet sich im prinzip nach dem ersten jump beim timerüberlauf
3. du willst portd.0 setzen und configst dafür c.2 als output?
so, ich gloob des sollt besser funzn ^^Code:$regfile = "m32def.dat" $framesize = 40 $swstack = 10 $hwstack = 32 $crystal = 8000000 $baud = 9600 Config Portd.0 = Output 'definiert Portd als Output Dim Zaehler As Byte Zaehler = 0 Config Timer1 = Timer , Prescale = 256 'Konfiguriere Timer1 Enable Interrupts Enable Timer1 'schalte den Timer1 ein On Timer1 Isr_von_timer1 'verzweige bei Timer1 überlauf zu Isr_von_Timer1 Timer1 = 34285 'Timer1 soll schon von 34285 wegzählen Start Timer1 Do Print "Zaehler =" ; Zaehler If Zaehler = 2 Then Goto Uhrzeit End If If Zaehler = 4 Then Goto Datum End If If Zaehler = 6 Then Goto Temperatur End If Loop End Isr_von_timer1: 'ISR von Timer1 Timer1 = 34285 'Timer1 soll wieder von 34285 wegzählen Toggle Portd.0 Incr Zaehler Return Uhrzeit: Print "Uhrzeit" Datum: Print "Datum" Temperatur: Print "Temperatur"
Maddin






Zitieren

Lesezeichen