interrupts in interrupts

Gast #75849
hallo an alle,
ja also ich frage mich die lezte zeit ob das was ich mir denke so
zulässig ist. ich programmiere ja immernoch an meiner lasershow, da ich
ja noch recht neu bin, dauert das schon ne halbe ewichkeit da ich
während ich das so langsam progge halt alles noch lernen muss. der
derzeitige entwiklungsstand ist das ich mittlerweile asynchron ne ps2
maus auslese und halt zugleich über nen timerinterrupt halt die
positionsdaten für den laser ausgebe. um die maus auszulesen, leg ich
die clockleitung der maus auf den externen interruptpin,  und wenn also
der controller aber grade im timerinterrupt iss, wollt ich wissen, ob
dieser sich nochmal unterbrechen liese um halt die maus auszulesen. zur
zeit führt der mc den timer interrupt noch zu ende, ehe er den externen
bearbeitet ( bzw umgekehrt) aber rein von der möglichkeit, iss es als
zulässig in einem interrupt die interrupt freigabe wieder zu
aktivieren, sich also quasi 2 interrupt prioritäten zu simlulieren.
mfg
eugen dischke
Gast
Prinzipiell möglich.
Allerdings solltest Du beachten, dass der Interrupt, in dem Du Dich
gerade befindest, gesperrt wird, bevor Du alle anderen freigibst, sonst
wird der nämlich nochmal aufgerufen, wenn DU zu langsam (oder der Timer
zu schnell) bist.
Beim Stack musst Du einkalkulieren, dass 2 mal die Stackregister
gerettet werden (können) und entsprechend mehr Platz sein muss.

Viel Spass,

Stefan
Gast
iss bei der standert konfiguration des rams nicht der stack groß genug?
bzw was meinst du damit das der interrupt gesperrt ist,
etwa das er nochmal aufgerufen wird sobalt ich den 2 interrupt
verlasse? ich benutze den M16 mit 16 Mhz
Gast
Meinst Du den M16C von Mitsubishi?

Mit dem hast DU es doch noch viel einfacher, weil der
Interrupt-Prioritäten hat. Einfach die IR-Prio des Interrupts
hochsetzen, der den anderen unterbrechen dürfen soll. Schau Dir dazu
mal das Kapitel Interrupts im Manual an.

Ob der Stack groß genug ist, kommt immer darauf an, was man macht ...
wollte Dich nur daran erinnern, dass sich beim Stack auch noch eine
Änderung ergibt, wenn Du die IRs schachtelst.
Und StandarT ist nur der nackte Chip, alles andere ist
Programmiererlaune ;-)

Stefan

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.