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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren