Interrupt Frage

  • 1
  • 2
  • Page 1 of 2
TheBeginner
Schreiberling
Avatar
Gender: n/a
Location: Wunsiedel Bayern
Age: 67
Posts: 770
Registered: 06 / 2013
Subject:

Interrupt Frage

 · 
Posted: 19.03.2016 - 13:42  ·  #1
Guten morgen,
habe mal ne Frage zu 3 Interrupt´s am AtXmea.

was ein ext. Pin wie zb PS2 Tastatur, mit Pin abfrage macht ist mir klar.
(Ist ja nur ein Pin im interrupt)

Nur wie sieht das Spiel aus wenn man zb 3 ext. Leitungen am uC angeschlossen hat und diese
einen Interrupt auslösen.?
Und dann das Problem auftaucht, das zb 2 Pins oder sogar 3 Pins zur gleichen Zeit anstehen?

Und wenn ich gerade in einer Procedure PCintC1; stecke um eine var hoch zu zahlen,
was genau passiert da ? wenn der zweite zu schlägt ?

Sorry für die Frage, aber ich habe nur einmal was wegen Interrupt PS2 zu tun gehabt.


Wäre sehr Dankbar für Antworten.


Gruß Frank
Harald_K
 
Avatar
 
Subject:

Re: Interrupt Frage

 · 
Posted: 20.03.2016 - 13:08  ·  #2
also wenn ein Interrupt - erstmal egal welcher - ausgeführt wird, dann sind bis zum Ende dieses INTs (RETI) oder bis du explizit mit SEI ihn wieder freigibst weitere Interrupts gesperrt.

Wenn jetzt während eines INTs ein weiterer auftritt, dann wird erstmal gewartet, bis er fertig ist, dann kommt der wartende INT dran ...
Ob dann beim Eintritt in die entspr. Int-Routine die zum Auslöseereignis anstehenden Pegel an anderen Portpins noch anliegen .... keine Ahnung.


wenn jetzt mehrere Quellen sich einen INT teilen müssen, dann müßte ich, um dir zu antworten, das gleiche tun was auch du tun müßtest: ins Datenblatt des Prozessors schauen, was da passiert.

z.B beim mega16 und den INT0 /INT1 im pegeltriggermode ist das so, daß der INT nicht ausgelöst wird, wenn er gesperrt ist und der auslösende Pegel vor Freigabe des INTs wieder weg ist. Flankengetriggert wird er zwar ausgelöst, aber was an Pegel beim Eintritt in die Int-Routine da ist weiß man nicht.
TheBeginner
Schreiberling
Avatar
Gender: n/a
Location: Wunsiedel Bayern
Age: 67
Posts: 770
Registered: 06 / 2013
Subject:

Re: Interrupt Frage

 · 
Posted: 20.03.2016 - 13:24  ·  #3
Quote by Harald_K


Wenn jetzt während eines INTs ein weiterer auftritt, dann wird erstmal gewartet, bis er fertig ist, dann kommt der wartende INT dran ...
Ob dann beim Eintritt in die entspr. Int-Routine die zum Auslöseereignis anstehenden Pegel an anderen Portpins noch anliegen .... keine Ahnung.


Danke Harald, sehr gut erklärt, ich werde mir das auch mal mit dem Simularor anschauen.


Gruß Frank
rh
Administrator
Avatar
Gender:
Location: Germany
Age: 25
Homepage: e-lab.de
Posts: 5558
Registered: 03 / 2002
Subject:

Re: Interrupt Frage

 · 
Posted: 20.03.2016 - 17:18  ·  #4
Hallo Frank,

die XMegas haben eigentlich keine spezielle Interupt Eingänge.
Hier gibt es nur noch PCints. Je nach Definition der Interrupts
kann man hier einen einzelnen Port Pin als Interrupt auswählen
oder mehrere Pins eines Ports. Das Compiler Manual sagt hier
mehr dazu, Seite 80 und 81.

btw.
Dazu gibt es aber auch ein Beispiel Programm:
XMEGA_PCint

rolf
TheBeginner
Schreiberling
Avatar
Gender: n/a
Location: Wunsiedel Bayern
Age: 67
Posts: 770
Registered: 06 / 2013
Subject:

Re: Interrupt Frage

 · 
Posted: 20.03.2016 - 21:12  ·  #5
Danke Rolf.




Gruß Frank
TheBeginner
Schreiberling
Avatar
Gender: n/a
Location: Wunsiedel Bayern
Age: 67
Posts: 770
Registered: 06 / 2013
Subject:

Re: Interrupt Frage

 · 
Posted: 28.03.2016 - 09:10  ·  #6
Hat sich erledigt....


Gruß Frank
Harald_K
 
Avatar
 
Subject:

Re: Interrupt Frage

 · 
Posted: 28.03.2016 - 13:01  ·  #7
also die nutzbaren Namen der einzelnen Interrupt-Prozeduren stehen im .dsc-file des Prozessors, den du nutzen willst.

Das ist ne Textdatei, kannst du mit jedem Editor öffnen

leider gibts da bei atmel keine einheitliche Benennung, das scheint stark vom Zeitpunkt der Erstellung des Datenblatts abzuhängen, wie der INT dann heißt ...


und wie du die zugehörige Hardware dazu kriegst, den INT so auszulösen, wie du es brauchst, das steht im Datenblatt zum Prozessor.
Datenblätter unter www.atmel.com

wo hast du denn die Registerbelegung für den Timer1 her in deinem Softwarebeispiel??
TheBeginner
Schreiberling
Avatar
Gender: n/a
Location: Wunsiedel Bayern
Age: 67
Posts: 770
Registered: 06 / 2013
Subject:

Re: Interrupt Frage

 · 
Posted: 28.03.2016 - 13:34  ·  #8
Moin Harald,
ähhmm die habe ich mal aus einem Demo genommen, weiß aber auch nicht mehr welche es war.
Läuft aber damit.


Gruß Frank
  • 1
  • 2
  • Page 1 of 2
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 14   139   153 · Page-Gen-Time: 0.026477s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI