mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Interrupt Fehler mit 80C517A


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

Bewertung
0 lesenswert
nicht lesenswert
Hallo Zusammen,

ich wollte einen Interrupt mit einer fallenden Flanke auslösen jedoch
hat es in meinem Programm nicht funktioniert.
Nun habe ich ein Programm geschrieben wo ich das Interruptflag per
Software setze und es funktioniert auch nicht.
Bei anderen Interrupteingängen habe ich es probiert dort funktioniert
mein Programm.Nur mit den Eingängen P3.2 und 3.3 funktioniert nichts.
Ich kann auch nicht auf einen anderen Eingang wechseln das dieser P3.3
dafür hardwaremässig vorgesehen ist.
Kann mir jemand sagen was ich falsch programiere bzw. nicht
programmiere?

Danke schon mal für die Antwort.

Tom

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der externe Interrupt EX1 geht auf Vektor 2 und nicht 10.

Und für die fallende Flanke mußt Du erst IT1 setzen.

Ich glaube nicht, daß das beim 517 völlig umgemodelt ist gegenüber dem
standard 8051.

Den 517 kenne ich nicht, da mir alles zu umständlich ist
(Platinenlayout, Kosten), was nicht Flash ist.


Peter

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Soooorrrry,

ein kleiner Fehler der sich eingeschlichen hat als ich verschiedene
Interrupts versucht habe.
Ich habe es mit Vektor2 getestet muss ich auch setzen wenn ich eine
falende Flanke erkennen will.Jedoch setze ich ja direkt das IE1 bit und
erzeuge dadurch den Interrupt hat zuminderst bei allen anderen Interrupt
eingängen funktioniert(P1.0,P1.1,Timer1 usw.).
Trotz das alles richtig ist funktioniert das mit dem Interrupt nicht.
Habe schon mit dem Oszi direkt am Port gemessen.

Gibt es etwas besonderes zu beachten da dieses Problem nur an den Ports
3.3 und 3.2 auftritt und diese Hardwaremässig gleich sind?

Gruss

Tom

Autor: Tom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat niemand Erfahrung!!!!!!

Habe es schon auf einem zweiten board getestet da ich dachte etwas ist
defekt jedoch das gleiche Ergebnis.

TOM

Autor: Thomas K. (thkais)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich weiß nicht, ob Dein Compiler das auch benötigt, aber ich muß
Variablen, die ich im Interrupt benutze, "volatile" definieren,
also:

volatile unsigned char wert=0;

Der von mir genutzte AVRGCC optimiert sonst die Zugriffe auf die
Variable.

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

Bewertung
0 lesenswert
nicht lesenswert
@thomas,

Interrupt Variable sind schon richtig da ich ja andere Interrupts auch
ansprechen kann nur P3.3 und 3.2 nicht.
Ist bei denen etwas besonderes zu beachten.
Ach hier nochmal das bereinigte Programm.

Ich hoffe jemand kann mir helfen!!!!!!!!!:-)

Thomas

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.