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?
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
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
>Das Programm hört einfach auf.
Wie geht das? Wird der Programmzähler einfach abgeschaltet, eingefroren
oder was?
>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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.