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();
}
}
> ich komme nicht darauf was ich hier falsch mache.
Groß-/Kleinschreibung z. B.
{ DDRA|= (1<<PA0);
Ich seh den Fehler nicht. Und wen ich es raus lösche ändert sich auch
nichts.
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 | }
|
Marc V. schrieb: > in:ISR(INT0_vect) > > ändern. 'EXT_INT0_vect' (Steht so zumindest in der 'iotn24a.h')
Danke erst mal, Mit EXT_INT0_vect ist der fehler weg, aber im Datenblatt steht eindeutig nur INT0 in der tabelle???
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. ;-)
Ralf G. schrieb: > 'EXT_INT0_vect' (Steht so zumindest in der 'iotn24a.h') Ja, hast Recht, auf die schnelle aus dem Kopf geschrieben.
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.
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.
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.
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.