interrupt-problem

Gast #100710
hi,
sollte folgender code nicht dafür sorgen, das
bei einer pegeländerung auf PIND0 (ist laut mega128 der pin für
int 0) der code des interrupthandlers ausgeführt wird
und "INTERRUPT :)" auf dem display erscheint?
tuts nur leider nicht. ich habs auch mit anderen externen
interrupts probiert...das gleiche. ich kann an den entsprechenden
pin anlegen was ich will, da tut sich nix...
wo liegt der fehler ?

#include <avr/io.h>
#include <stdio.h>
#include <avr/signal.h>
#include <avr/interrupt.h>
#include "lcd/lcd.h"

INTERRUPT(SIG_INTERRUPT0){
  lcd_clear();
  sleepms(1);
  lcd_send_str("INTERRUPT :)");
  sleepms(2000);
}




int main(){
  byte i = 0;

  DDRA = 0xff;
  PORTA = 0;
  DDRC = 0x00;
  PORTC = 0xff;
  DDRE = 0x00;
  PORTE = 0xff;
  sei();

  lcd_init();

  sleepms(1);
  lcd_clear();

  lcd_send_str("Hallo Welt");

        lcd_send_cmd(0xc0);
        sleep2(20);
  while(1){}


  return 0;
}
Gast
Du solltest noch den Port D, Leitung 0 auf ingang schalten und den
entsprechenden Interrupt enablen.
Also zB.

DDRD=0;     // auf Eingang (ist aber default)
MCUCR|=3;   // Interrupt on rising edge
GICR|=0x40; // Interrupt von INT0 enablen
Gast
ja okay das hatte ich jetzt in dem code-beispiel nicht
aber eigentlich deshalb weil das ursprüngl mal
SIG_INTERRUPT4 war un der liegt auf porte.
was ist eigentlich GICR ?
mein WinAvr kennt das nicht

gruß markus
Gast
Sorry, da hab ich nicht aufgepasst, ich habe im Datenblatt vom mega8
nachgeschaut, aber Du hast ja einem mega128...

Noch ein Versuch:

DDRD=0;      // auf Eingang (ist aber default)
EICRA|=3;    // Interrupt on rising edge
EIMSK|=0x40; // Interrupt von INT0
Gast
hm also ntweder ich bin zu blöd oder man muss noch was an den
fusebits ändern.

kannst du mir vielleicht mal ein komplettes codebsp posten?
das wär echt super. im anhang ist mein aktuelles prog
das leider nix macht.

gruß markus
Angehängte Dateien:
Gast
PORTE? ne...im aktuellen progi arbeite ich an PORTD mit INT0 an PORTD.0
da sollte JTAG an/aus nix mit zu tun haben oder?
gibt es sonst noch eine einstellung die probleme machen könnte?

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.