Forum: Mikrocontroller und Digitale Elektronik Probleme mit ISR bei AT90CAN128


von Tartaruga (Gast)


Lesenswert?

Hi
Ich hab folgendes Problem. Ich will nur 8 LED's blinken lassen und das 
mit Interrupts lösen.
1
#include <io.h>
2
#include <interrupt.h>
3
4
#define DEBUG
5
6
7
int main(){
8
9
SREG =0x80;//all interruots are availabe
10
sei();
11
12
TCCR0A = 0x85; //1 00 00 101b PWM Mode=0 wave=normal non PWM Precaler=1024
13
TCNT0  = 0x00; // timer startet bei diesem wert
14
TIMSK0 = 0x01; //Interrupts enabled
15
TIFR0  = 0x00; //Interrupt Flag is disabled
16
17
DDRA   = 0xFF; // Port A is output
18
19
for(;;){
20
21
}//end for endlosschleife
22
23
ISR(TIMER0_OVF_vect){//Interrrupt Service Routine
24
25
26
  if (PORTA == 0x00){
27
      PORTA = 0xFF;
28
    }//end if 
29
    else
30
    PORTA=0xFF;
31
32
}//end isr
33
34
35
36
37
return(0);
38
}//end main

Die Fehlermeldung die mir der Compiler gibt ist:
error: static declaration of '__vector_17' follows non-static 
declaration
error: previous declaration of '__vector_17' was here

Ich verwende AVR Studio 4.13 und WINAVR20070525
Das Argument in der ISR hab ich von dem user manual vom Compiler

Wäre echt toll wenn mir wer helfen könnte bin mit meinem Wissen echt 
schon am Ende

Danke
Tartaruga

von Marco S (Gast)


Lesenswert?

Hallo.

Schreibe mal die ISR ausserhalb von main.

Gruß

von Tartaruga (Gast)


Lesenswert?

Ich Trottel Natürlich. Naja da merkt man wieder das ich noch ein 
blutiger Anfänger bin. Ich kann ja nur hoffen das das nicht allzuviele 
Leut lesen
Danke auf alle Fälle für deine Hilfe
lg

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.