Hallo, ich habe ein Programm, welches Timergesteuert Aufgaben ausführt. Diese Aufgaben haben höchste Priorität. (Timer1) Nun kommt eine weiter Aufgabe hinzu, für die ich einen eigenen Timer brauche. (Timer 2) Im Wesentlichen werden zwei Portpins ein-/und ausgeschaltet. Die Gegenstelle registriert die Flankenwechsel. Timer2 habe ich eine geringere Priorität eingeräumt. Meine Idee war, dass, wenn Timer1 den Timer2 unterbricht, mir das egal ist, da dann die zwei von Timer2 gesteuerten Portpins in der Zwischenzeit ihren Wert (High oder Low) halten. Wenn die Timer1-Interruptroutine fertig ist, kann der Timer2Interrupt weiterarbeiten. Nun funktioniert das leider so doch nicht. Ich würde nun eigentlich nur gern wissen, ob was an meiner Herangehensweise falsch ist. Kann man einen Timerinterrupt von einem anderen Timer unterbrechen lassen? Wenn ja, was muß man beachten? Gruß Klaus
was für ein PIC ist es überhaupt? Wie schnell ist das ganze? Wenn nicht so schnell, kannst den Timer1 so skalieren (e.g. 100us) dass er für beide Aufgaben reicht, dann einfach die Zeiten in der ISR prüfen.
Klaus schrieb: > Nun funktioniert das leider so doch nicht. Was funktioniert denn nicht? > Kann man einen Timerinterrupt von einem anderen Timer unterbrechen > lassen? Ja, dazu sind die unterschiedlichen Prioritätsstufen da. Du hast sie auch entsprechend zugewiesen? Peter
Vielen Dank für die Antworten. Ich hab die Prioritäten natürlich zugewiesen. Es ist ein PIC24F. Wie auch immer, die Antworten reichen mir eigentlich schon. Ich wollte nur wissen, ob ich einen Fehler im Programmcode habe, oder ob's generell am PIC liegt, da ich mit sich überschneidenden Timerinterrupts noch nichts zu tun hatte. Gruß Klaus
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.