www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Interrupt und zeitlicher Verlauf


Autor: Boris (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Habe 4 theoriestische Probleme bei einem MC 8051 oder vergleichbar:

1. Int0 und Int2 werden gleichzeitig durchgeschaltet (siehe Anhang):
- Was passiert wenn Int0 eine niedere Priorität wie Int2 besitzt?
- Was passiert wenn beide gleiche Priorität besitzen?
- Hängt das irgendwie auch von der Polling Sequence ab?

2. Int0 (mit einer niederen Priorität) ist schon in Bearbeitung und
Int2 (mit einer hohen Priorität) löst aus. Was passiert?

3. Welche Funktion hat das IE0 im TCON? Muss dies gesetzt (aktiviert)
werden wenn man den Int0 auslösen will oder mach das die Hardware
automatisch?

4. Wenn man grob die Programmrechenzeit abschätzen will, kann man dann
davon augehen, dass ein Assemblerbefehl 1us dauer?

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 4. Wenn man grob die Programmrechenzeit abschätzen will, kann man dann
davon augehen, dass ein Assemblerbefehl 1us dauert?

Wenn ein (der spezielle) Assemblerbefehl einen Takt zur Abarbeitung
braucht und wenn der Prozessor mit einer Taktrate von genau 1 MHz (10^6
Hz) betrieben wird, ja, dann dauert dieser Befehl 1/10^6 = 10^-6s = 1
µs.

Autor: Ralf Altmann (warpnine)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> 1. Int0 und Int2 werden gleichzeitig durchgeschaltet (siehe Anhang):
> - Was passiert wenn Int0 eine niedere Priorität wie Int2 besitzt?

Wenn INT0 bearbeitet wird, und währenddessen INT2 aktiv wird,
unterbricht INT2 den INT0. Wenn INT2 fertig ist, wird mit der
Bearbeitung von INT0 fortgefahren.

> - Was passiert wenn beide gleiche Priorität besitzen?
> - Hängt das irgendwie auch von der Polling Sequence ab?

Haben beide die gleiche Prio, entscheidet die Polling-Sequenz, wer
zuerst drankommt, nämlich der, der zuerst gepollt wird...

> 2. Int0 (mit einer niederen Priorität) ist schon in Bearbeitung und
> Int2 (mit einer hohen Priorität) löst aus. Was passiert?

Antwort siehe oben.

> 3. Welche Funktion hat das IE0 im TCON? Muss dies gesetzt
> (aktiviert) werden wenn man den Int0 auslösen will oder mach das die
> Hardware automatisch?

Von welchem Controller reden wir? Aus der Bezeichnung IE0 kann ich die
Bedeutung nicht einwandfrei erkennen. Ich kann jetzt nur vermuten, dass
IE0 "Enable External Interrupt 0" bedeutet. In dem Fall bedeutet das
Setzen, dass automatisch ein Interrupt ausgelöst wird, wenn am Portpin
die entsprechende Bedingung erfüllt ist.
Alternativ kann man durch Setzen des zum Interrupt gehörenden
Interrupt-Flags den Interrupt per Software auslösen.

HTH

Ralf

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.