timer probleme in bascom + avr

Gast #512604
Lesenswert?

hallo, ich habe in bascom (avr atmega32) einen timer programmiert.
ich habe wie folgt geschrieben:

...

Enable Interrupts
Enable Timer0
Config Timer0 = Timer , Prescale = 1024
Timer0 = 0
Start Timer0

On Timer0 Check_activity:

end

Check_activity:
If I >= 687500 Then
   I = 0
End If
I = I + 1
Print I
Return

ich habe nun im Hyper terminal geschaut und ich habe bemerkt das der 
Chip immer von vorne anfängt, also wie wenn ich ihn reseten würde. Er 
gibt mir keinen wert aus wie ich es programmiert hätte!! was könnte hier 
das Problem sein?
Gast #512622
Lesenswert?

HM

Bin  mir jetzt nicht sicher aber versuch doch mal dein Program in einen 
Endlos  Loop zu setzen.

Etwa so:

Enable Interrupts
Enable Timer0
Config Timer0 = Timer , Prescale = 1024
Timer0 = 0
Start Timer0

On Timer0 Check_activity:

Do
Loop

Check_activity:
If I >= 687500 Then
   I = 0
End If
I = I + 1
Print I
Return

Gruß
Alber
Gast #512624
Lesenswert?

Das Programm macht die Intterupte an und beendet sich dann ganz 
ordnungsgemäss. Mit ner Schleife hätte der Interrupt auch ne Chance was 
zu unterbrechen. Ohne gibts ja nix mehr zu unterbrechen weil ja nix mehr 
rennt. End heisst nunmal Ende. Das Programm hört einfach auf.

bye

Frank

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren