Forum: Mikrocontroller und Digitale Elektronik timer probleme in bascom + avr


von elektro (Gast)


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?

von Alber (Gast)


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

von Frank (Gast)


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

von Rahul D. (rahul)


Lesenswert?

>Das Programm hört einfach auf.

Wie geht das? Wird der Programmzähler einfach abgeschaltet, eingefroren 
oder was?

von Frank (Gast)


Lesenswert?

Jo, Zündschlüssel abgezogen und Ruhe is!

von jack (Gast)


Lesenswert?

>End heisst nunmal Ende. Das Programm hört einfach auf.

Schon lange nicht mehr so gelacht.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.