-
tiny26 Timer Interrupt
Hallo,
ich versuche beim Tiny26 den timer Interrupt zu nutze.
Leider springt das Prog nicht in die Interrupt Sub.
Stell ich mich nur blöd an? Was mach ich falsch?
Grüsse Klaus
Code:
$regfile = "At26def.dat"
$crystal = 8000000
'----------------Timer config---------------------------
Config Timer0 = Timer , Prescale = 256
Enable Timer0
Enable Interrupts
On Ovf0 Tim0_isr
'----------------- RS232 Config ------------------
Open "coma.5:9600,8,n,1" For Output As #1
Dim Timervar As Integer
Stop Timer0
Do
Print #1 , Timervar
Waitms 500
Loop
Tim0_isr:
Incr Timervar
Return
End
-
Hi g_lock,
wenn Du den Timer stoppst, läuft er auch nicht.
Schmeiß den Befehl "Stop Timer0" raus.
Gruß.
Rainer
-
Oh, wie peinlich!
Ich hatte das so:
Code:
$regfile = "At26def.dat"
$crystal = 8000000
'----------------Timer config---------------------------
Config Timer0 = Timer , Prescale = 256
Enable Timer0
Enable Interrupts
On Ovf0 Tim0_isr
'----------------- RS232 Config ------------------
Open "coma.5:9600,8,n,1" For Output As #1
Dim Timervar As Integer
Stop Timer0
Start Timer0
Do
Print #1 , Timervar
Waitms 500
Loop
Tim0_isr:
Incr Timervar
Return
End
wollte den
Stop Timer0 Löschen
Start Timer0 lassen.
habs genau umgekehrt gemacht.
Es läuft leider trotzdem nicht.[/quote]
-
Ok, hab's jetzt mal durch den Simulator gejagt.
Der Timerinterrupt lässt dem Software-UART keine Chance mal was auszugeben. Der Timer springt ca. alle 8000 µS in die ISR. Scheint mit dem Software-UART nicht zu gehen. Probier mal mein Beispiel. Nur mal so zum testen.
Code:
$regfile = "At26def.dat"
$crystal = 8000000
'----------------Timer config---------------------------
Config Timer0 = Timer , Prescale = 1024
Enable Timer0
Enable Interrupts
On Timer0 Tim0_isr
'----------------- RS232 Config ------------------
Open "coma.5:9600,8,n,1" For Output As #1
Dim Timervar As Integer
Do
Stop Timer0
Print #1 , Timervar
Start Timer0
Waitms 500
Loop
Tim0_isr:
Incr Timervar
Return
End
Bei Timervar > 32767 kriegst Du einen Überlauf und es wird von -32767 bis +32767 gezählt .... also nicht erschrecken ;)
Ist aber zum testen jetzt egal
Gruß.
Rainer