-         
Ergebnis 1 bis 7 von 7

Thema: Nach Interrupt werden die Ports zurückgesetzt

  1. #1

    Nach Interrupt werden die Ports zurückgesetzt

    Anzeige

    Hallo Zusammen,

    ich habe ein Problem mit meinem AVR. Und zwar möchte ich mit den Externen Interrupts arbeiten. Innerhalb der Interrupt Routine verändere ich den Port C DOch nach dem die Interrupt Routine abgeschlossen ist wird der Port wieder zurückgesetzt.

    NAchfolgen mein Programm:

    Code:
    #include <avr/io.h>         
    #include <avr/interrupt.h>
    #include <stdint.h>
    
    volatile int temp;
    uint8_t temp1;
    
    ISR(INT0_vect) // Routine für die Behandlung des Interrupts für Bahnn 1
    {
          PORTC = 0x01;
     }
    
    int main (void) {       
             
    DDRC  = 0xff;	// Port C als Output
    PORTC = 0x00;	
    DDRD  = 0x00;  // Port D als Input
    MCUCR |= (1<<ISC01)|(1<<ISC11);
    GIMSK |=(1<<INT0)|(1<<INT1);
    
       
     sei();  
    
    while(1)
       {
     temp1++;
       }
       return 0;                 // (6)
    }
    Vielen Dank für eure Hilfe

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.192
    Bist du sicher das kein Reset ausgelöst wird

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    22.05.2005
    Ort
    12°29´ O, 48°38´ N
    Beiträge
    2.731
    Hallo,

    auf jeden Fall wird auch der INT1 aktiviert, und wenn da ein IRQ auftritt, geht's ab in den Reset !
    Lass' bei GIMSK (bzw. GICR) das INT 1 weg, dann sollte es laufen.

  4. #4
    Danke für die Tips doch leider hat mich das nicht weitergebracht. Ich habe im eigentlichen Programm auch etwas für den Fall hinterlegt, wenn der INT1 aktiv wird. Wollte aber erstmal das grudsätzlich die Funktion da ist. Hat denn noch einer eine Idee?

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.11.2003
    Beiträge
    1.111
    Kann es sein, dass Dein INT1 Pin floated also in der Luft hängt?
    Oder ihn irgendetwas anderes auslöst?
    Du solltest unbedingt auch die INT1 ISR einbinden, auch wenn die nichts macht, sonst verabschiedet sich bei unbeabsichtigter Auslösung Dein µC ins Nirvana
    Gruß

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    46
    Beiträge
    2.236


    Ich frage mich mal, welche Programmversion nun aktuell ist,
    diese hier oder diese hier
    Software is like s e x: its better when its free.
    Linus Torvald

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    25.11.2003
    Beiträge
    1.111
    Na wenn sich so viele Leute um Hilfe bemühen, dann muss es doch was werden...

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •