hallo zusammen, ich hab eine frage zur programmierung einer zeitdauer. ich hab am int0-eingang einen schmitt-trigger hängen der 50 hz liefert. wenn ich jetzt 10 sec generieren will hab ich gedacht ich mach das über register. sprich: ich lade #0ah in ein register und dekrementiere den wert, bis ich bei 0 bin! meine frage ist, ob ich das laden und das dekrementieren des registers im interrupt programmieren muss oder geht das im hauptprogramm? danke schon mal für die antwort. gruß insicor
Laden 1x bei reset im Hauptprogramm, decrease in der Interruptroutine. Wenn die 10 sich wiederholen sollen, musst du bei 0 das register neu beladen. Würdest du uns verraten, was du vorhast, könnten wir dir vielleicht noch mehr helfen.
insicor schrieb: > sprich: ich lade #0ah in ein register und dekrementiere den wert, bis > > ich bei 0 bin! meine frage ist, ob ich das laden und das dekrementieren > > des registers im interrupt programmieren muss oder geht das im > > hauptprogramm? Das kannst du mit Interrupt oder im Hauptprogramm machen. Ist aber beides schlecht. Du nimmst einen Timer. So ein Timer heisst mit vollem Namen Timer/Counter. Dann lädst du in den Counter einen Capture-Wert, in diesem Fall 500 und wenn dieser erreicht wird löst der Counter einen Interrupt aus. Mit deiner Zählvariablen passt das nicht. 0x0A, hast du mit 50Hz in 200ms auf 0 dekrementiert. Und nicht in 10 Sek. mfg.
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.