problem mit interrupt

Gast #1917574
Lesenswert?

ich benutze einen attiny13A und möchte damit per taster einen Interrupt 
auslösen. Taster hängt an Pin4 aktiv low mit pullup.

Die Register sind so initialisiert

GIMSK |= (1<<PCIE);     // Pin Change Interrupt Enable
PCMSK |= (1<<PCINT4);   // PCINT4 Interrupt Enable
MCUCR |= (1<<ISC00);    // Any logical change on INT0 generates an 
interrupt

Und das ist die ISR:

ISR (INT0_vect)
          {
              Taster_state ^= (1<<0);     // toggle Taster_state
              if(Taster_state==0)         // Taster losgelassen
              {
                  TCCR0B &= ~((1<<CS00)|(1<<CS01)|(1<<CS02)); // Stop 
Timer
              }
              _delay_ms(50);                          // 50ms warten

              if(Taster_state==1)                     // Taster gedrückt
              {
                  TCCR0B |= ((1<<CS00)|(1<<CS01)|(1<<CS02));// Start 
Timer
              }
          }

Das zeigt AVR Studio immer an:
../main.c:75: error: static declaration of '__vector_1' follows 
non-static declaration

Kann mir bitte jemand helfen ich weiß echt nicht mehr weiter
Gast #1917603
Lesenswert?

So habe ich keine Störmeldungen
bekommen.
1
#include <avr/interrupt.h>
2
#define F_CPU 600000UL 
3
#include <util/delay.h>
4

5
char Taster_state = 0;
6
int main(void)
7
{
8

9
GIMSK |= (1<<PCIE);     // Pin Change Interrupt Enable
10
PCMSK |= (1<<PCINT4);   // PCINT4 Interrupt Enable
11
MCUCR |= (1<<ISC00);    // Any logical change on INT0 generates an interrupt
12

13
for(;;);
14

15
return(0);
16
}
17

18
//Und das ist die ISR:
19

20
ISR (INT0_vect)
21
 {
22
     Taster_state ^= (1<<0);     // toggle Taster_state
23
     if(Taster_state==0)         // Taster losgelassen
24
     {
25
         TCCR0B &= ~((1<<CS00)|(1<<CS01)|(1<<CS02)); // Stop Timer
26
     }
27
     _delay_ms(50);                          // 50ms warten
28

29
     if(Taster_state==1)                     // Taster gedrückt
30
     {
31
         TCCR0B |= ((1<<CS00)|(1<<CS01)|(1<<CS02));// Start Timer
32
     }
33
 }

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