interrupt will nicht

Gast #5401312
Lesenswert?
• ▲
▼
Hallo,
habe mich an interrupts probiert und jetzt das problem dass die Befehle 
EIMSK und ISR (INT0_vect) nicht erkannt werden.
Hier der Programmauschnitt:

#include <avr/io.h>
#include <avr/interrupt.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <stdlib.h>
#include "lcd.h"


/* Der CPU-Takt wird definiert; Dieser entspricht der Frequenz des 
Quarz. */
#define F_CPU 3686400UL


/* Start des Programmes. */
int main(void) {

EIMSK = (1<<INT0);
    sei();

  ISR (INT0_vect) // Interrupt Service Routine für externen Interrupt 
INT0
    {
      Menue++;
    _delay_ms(100); // kurzes delay zum "Entprellen"
    }


  DDRD &= ~(1 << DDD2);     // Int0-Pin ist Eingang
    PORTD |= (1 << PORTD2);   // Pullup aktiv



    // Hier folgen die Konfigurationen zum externen Interrupt INT0
  MCUCR |= (1 << ISC01);    // INT0 trigger bei fallender Flake an PD2
    GICR |= (1 << INT0);     // INT0 aktivieren


  lcd_init();    // LCD wird initialisiert, angeschaltet und gelöscht.
  lcd_on();
  lcd_clear();
  lcd_write_s("Drahtmessung");

    DDRC= 0x00;  //Alles Eingänge
  PORTC= 0xFF;
  DDRB=0b11111110;  //Alles Ausgänge
  PORTB=0b11111110;
Gast #5401370
Lesenswert?
• ▲
▼
HildeK schrieb:

> Zu EIMSK kann ich nichts sagen. Kann sein, dass es das nicht bei jedem
> AVR unter dem Namen gibt.

Das ist definitiv so.

> Welchen μC verwendest du?

Quäl' ihn doch nicht mit solchen Details. Zusammengeklauter und 
unverstandener Code muss einfach auf jedem µC funktionieren. C ist doch 
PORTABEL!
Gast #5401377
Lesenswert?
• ▲
▼
Anfänger1 schrieb:
> dass die Befehle
> EIMSK und ISR (INT0_vect) nicht erkannt werden.

Das ist schon in Ordnung so, da weder EIMSK noch ISR (INT0_vect) Befehle 
sind.
Allerdings frage ich mich schon, warum sich jemand
> an interrupts probiert
der nicht im Ansatz verstanden hat, um was es bei Interrupts geht.



aswqaswqa

Antwort schreiben

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.

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.