mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Interrupt-Flag reagiert nicht


Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich Versuch grad ein Hardwareinterrupt auszulösen aber das GIFR-Register 
reagiert nicht auf den Flankenwechsel am Taster.Ich nutz den ATmega8 und 
den E-Lab Compiler und als Sprache Pascal.Das Programm soll erstmal nur 
im Interrupt eine Led zum Leuchten bringen damit ich das es auch 
funtzt.Ich hab schon in anderen Foren nach gefragt aber nur antworten 
bekommen hoffe hier hilft mir endlich ma jemand.

Hier ist mein bisheriges Programm:

procedure InitPorts;
begin
  DDRD := %0010000;  //PortD.5 als Ausgang
  GICR := %10000000; //INT1 aktiviert
  MCUCR:= %00001100; //steigende Flanke an INT1 Löst ein Interrupt aus

end InitPorts;

Interrupt Int1;
begin
  PortD.5:=1;
end;
{--------------------------------------------------------------}
{ Main Program }
{$IDATA}

begin

  InitPorts;
  EnableInts;        //Globale Interrupt eingeschaltet


  loop

  endloop;
end Interrupts.

MFG Thomas

Autor: H.Joachim Seifert (crazyhorse)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
das ist zwar kaum lesbar, aber da stimmt schon mal was nicht
DDRD := %0010000;  //PortD.5 als Ausgang

du setzt D4 als Ausgang

und da sieht man auch gleich schön die Fehleranfälligkeit der "magic 
numbers" :-)

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sonst noch irgendwas?Das hab ich schon geändert.

Autor: H.Joachim Seifert (crazyhorse)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der Rest ist Kaffeesatzleserei.
-wie den Int-Eingang verschaltet
-wie die LED (falsch herum?, Gegen + oder Gnd?)

Ansonsten wird sich hier mit Pascal kaum einer auskennen.
Das zumindest kommt mir komisch vor:

end Interrupts.

sollte das nicht eher an das Ende der ISR?

Autor: L. Tienson (tilo)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist für den Programmabschluss das Programm heißt nämlich auch 
Interrupts.

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.