Forum: Mikrocontroller und Digitale Elektronik Wo liegt mein Fehler Interupt attiny24a


von Huber M. (michael_h784)


Lesenswert?

Hallo,

-attiny 24A
-Atmel studio 6
-avr mk2 isp

könnte mir biite jemand behilflich sein. Und schauen wo meoin Fehler 
liegt. Ich möchte hier einfach zur übung eine interrupt service routine 
erstellen. Nur wenn ich auf den build boutton drücke. Kommen immer zwei 
gleiche fehler.

Error  1  expected identifier or '(' before numeric constant  linie 13 
column 5

Error  2  expected identifier or '(' before numeric constant  linie 13 
column 5


ich komme nicht darauf was ich hier falsch mache. wie kann ich das ab 
ändern.

grüsse Huber

#include <avr/io.h>

#include <avr/interrupt.h>

ISR(INT0)
{
  //hier sool dann eine led geschaltet werden.
}






int main(void)
{   DDRA|= (1<<PA0);
  PORTB|= (1<<PB2);
    while(1)
    {
        //INTERUPT ROUTINE EINSTELLEN
    MCUCR |= (1<<ISC01) | (1<<ISC00); // steigende flanke für int0
    GIMSK |= (1<<INT0) ;              // int0  verwenden
    sei();
    }
}

von Blüte (Gast)


Lesenswert?

> ich komme nicht darauf was ich hier falsch mache.

Groß-/Kleinschreibung z. B.

von spess53 (Gast)


Lesenswert?

Hi

{   DDRA|= (1<<PA0);
                  ^

MfG spess

von spess53 (Gast)


Lesenswert?

Hi

Bitte ignorieren.

MfG spess

von Huber M. (michael_h784)


Lesenswert?

{   DDRA|= (1<<PA0);

Ich seh den Fehler nicht. Und wen ich es raus lösche ändert sich auch 
nichts.

von Justus S. (jussa)


Lesenswert?

falsch gelesen

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Huber M. schrieb:
> ich komme nicht darauf was ich hier falsch mache. wie kann ich das ab
> ändern.

> ISR(INT0)
> {
>   //hier sool dann eine led geschaltet werden.
> }

 in:
1
ISR(INT0_vect)

 ändern.

 P.S.
1
        //INTERUPT ROUTINE EINSTELLEN
2
    MCUCR |= (1<<ISC01) | (1<<ISC00); // steigende flanke für int0
3
    GIMSK |= (1<<INT0) ;              // int0  verwenden
4
    sei();
5
    while(1)
6
    {
7
    }

von Ralf G. (ralg)


Lesenswert?

Marc V. schrieb:
> in:ISR(INT0_vect)
>
>  ändern.

'EXT_INT0_vect' (Steht so zumindest in der 'iotn24a.h')

von Huber M. (michael_h784)


Lesenswert?

Danke erst mal, Mit EXT_INT0_vect ist der fehler weg, aber im Datenblatt 
steht eindeutig nur INT0 in der tabelle???

von Ralf G. (ralg)


Lesenswert?

Huber M. schrieb:
> aber im Datenblatt steht eindeutig nur INT0
Nicht das Datenblatt, sondern die 'iotn24a.h' wird ins Projekt 
eingebunden. Die hat dann die Macht. ;-)

von Marc V. (Firma: Vescomp) (logarithmus)


Lesenswert?

Ralf G. schrieb:
> 'EXT_INT0_vect' (Steht so zumindest in der 'iotn24a.h')

 Ja, hast Recht, auf die schnelle aus dem Kopf geschrieben.

von Ralf G. (ralg)


Lesenswert?

Huber M. schrieb:
> aber im Datenblatt steht eindeutig nur INT0

Ergänzung:
Manchmal ist da ein Schema zu erkennen. Dann kann man die richtige 
Konstante sozusagen erraten. Sonst einfach, z.B.: 'iotn24a.h' öffnen - 
nach 'INT0' suchen (irgendwas sollte in der Bezeichnung schon vorkommen, 
hoffe ich) - bei den IR-Vektoren die richtige Konstante kopieren.

von Huber M. (michael_h784)


Lesenswert?

OK, also ich will ja jetzt hier keinen auf die nerven gehen, aber wie 
öffne ich diese iotn24a.h . hatte jetzt bei google nichts gefunden.

von Bitwurschdler (Gast)


Lesenswert?

Huber M. schrieb:
> aber wie öffne ich diese iotn24a.h

Du suchst sie mit der Suchfunktion deines Vertrauens in dem
Verzeichnis in dem dein Compiler installiert ist. Und öffnest
sie mit dem Editor deines Vertrauens.

Jetz frage bitte nicht wo dein Compiler installiert ist.

von Matthias S. (Firma: matzetronics) (mschoeldgen)


Lesenswert?

In der HTML Hilfe zur avrlibc -> Libraries unter (avr/interrupts.h) sind 
alle gültigen Vektornamen aufgelistet - die sich auch von AVR zu AVR 
unterscheiden können.

In AVR Studio 4 kann man die Hilfe dazu direkt unterm 'Help' Menü 
erreichen, ob das bei AS 6 auch geht, kann man ja mal gucken.

von Ralf G. (ralg)


Lesenswert?

Huber M. schrieb:
> #include <avr/io.h>

Anhand dieser Anweisung wird die korrekte Headerdatei für den µC 
(hier:'iotn24a.h') ins Projekt aufgenommen. Im AVR-Studio steht diese 
dann in einem Andockfenster unter dem Punkt 'External Dependencies'. 
Beim Atmel-Studio sollte es so ähnlich sein. Wenn man sie dort gefunden 
hat, öffnet man diese wie jede andere Datei auch.

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.