MWS schrieb:
> Lars Lehmann schrieb:
>> Ich nehme für mich noch mit, dass ich mich wohl mit den #include-Salat
>> mehr auseinander setzen muss. Mein Versuch "mal eben" die 2313.h zu
>> identifizieren, in der ich die passsende Definition finde, hatte mich
>> nämlich auf den Holzweg gezogen, wo es tatsächlich ein GIFR gibt.
>
> Du siehst nach, was im Makefile unter MCU steht, bei Dir eben
> attiny2313. Die suchst Du in der io.h in WinAVR-x\avr\include\avr\,
> finden wirst Du:
>
>
1 | #elif defined (__AVR_ATtiny2313__)
|
2 | > # include <avr/iotn2313.h>
|
>
> Aus der iotn2313.h geht dann die korrekte Definition des Registers
> hervor.
>
> Im Gegensatz zu:
>
>
1 | #elif defined (__AVR_AT90S2313__)
|
2 | > # include <avr/io2313.h>
|
Wenn man allerdings erstmal fehlerhafte Headerdateien durchsuchen muß,
um sich dann an die fehlerhafte Bezeichnung anzupassen, finde ich das
ziemlich Sch...
Ich halte mich lieber an die Bezeichnungen im Datenblatt.
Zumal EIFR/GIFR nicht der einzige Fehler ist und man mit den Pinchange
Interrupts seine wahre Freude hat. Da ist nichts, wie man es erwartet.
Die Fehler sind allerdings, zumindest wird in anderen Foren darüber
berichtet, an den Atmel Support gemeldet und es soll sich drum gekümmert
werden.
Solange ich nicht die neueste Version der iotn*.h, in der es vielleicht
richtig definiert ist, benutze, behelfe ich mir mit einer
Würg-Erraund-Datei.
Verwirrend kommt noch hinzu, daß der 2313 ein Einzelkind ist, aber der
2313A einen grossen Bruder hat. Der heisst 4313 - natürlich ohne A.
Aber das kennt man ja schon von anderen Typen
mfg.