www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Reset Interrupt Vektor


Autor: ovt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
was hat es eignetlch mit diesen Vektoren auf sich? Gibt ja jede menge: 
Reset Vektor, Interrupt vektor usw.

Ist in diesem Speicherelement (also wo der vektor ist) die Sprung 
Adresse, des entsprechenden events gespeichert? Also eigentlch nur ein 
Pointer?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ ovt (Gast)

>was hat es eignetlch mit diesen Vektoren auf sich? Gibt ja jede menge:
>Reset Vektor, Interrupt vektor usw.

Das sind Zeiger auf Interruptserviceroutinen.

>Ist in diesem Speicherelement (also wo der vektor ist) die Sprung
>Adresse, des entsprechenden events gespeichert?

Praktisch ja. Wobei es da zwei Arten gibt, abhängig vom Prozessor.
Beim AVR stehen an der Stelle Sprungbefehle in die Routinen. Bei anderen 
Prozessoren stehen dort nur die Adressen, die der Prozessor erst 
auslesen muss und dann dorthin springt.

> Also eigentlch nur ein Pointer?

Ja.

MFG
Falk

Autor: ovt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau das wollte ich wissen - Danke

Ach ja und wie geht das mit dem Reset Vektor? Ist das nur ein Pointer 
auf eine std Funktion welche die Peripherie des uC (Xscale) zurücksetzt, 
oder wird der ganze conntroller zurückgesetzt (also PC = 0)?

Autor: ovt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ach ja noch was:
was ist der unteschied zwischen Inerrupt Vektor und Fast Interrupt 
Vektor?

Autor: christiang (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Zurücksetzen eines µCs geschieht normalerweise durch den Resetimpuls 
(Leitung auf LOW ziehen). Die Adresse die im Resetvektor steht zeigt auf 
den Code, der zuerst ausgeführt wird (z.B. Variablen initialisieren) und 
deine Main-Funktion aufruft.
Damit kannst du (je nach Typ) den µC (komplett) neu initialisieren. 
Teilweise haben µCs aber auch "Write-Once" Register, die nur einmalig 
nach dem Reset verändert werden können. Diese sind doch einen 
Softwarereset (Sprung auf den Interruptvektor) dann natürlich nicht mehr 
veränderbar.

Autor: pico (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
.... dazu kann man bei avr abfragen, ob ein port schon auf eine
     bestimmte richtung (ddrx) initialisiert wurde .....

mfg pico

Autor: Jochen Müller (taschenbuch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Das zuvor gesagt geht zwar in die richtige Richtung und meint auch das 
richtige, ist aber genau genommen falsch!

Bei AVR sind das KEINE Vektoren im eigentlichen Sinn, sondern 
Befehlsspeicherstellen.

Ein Vektor wäre es dann, wenn dort lediglich eine Adresse stehen würde, 
die der AVR dann intern in einen Sprung "umwandeln" würde.

Beim  AVR wird dort aber keine reine Adresse plaziert, sondern ein 
kompletter Befehl, z.B. kann in der Vektortabelle ja ein einfaches RETI 
stehen, wenn dieser Int. nicht benötigt wird.
Die Aussage, dass es sich um reine Pointer handelt ist also so nicht 
richtig.

Jochen Müller

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.