hallo zusammen, 1. wofür steht eigentlich dieses _attribute_ ((naked)) bzw. generell dieses _attribute_?? 2. warum sind in winavr die defines so aufgebaut??: #define PORTB _SRF08_(0x18) und nicht wie sonst so #define PORT(0x18) und wenn das einen tieferen sinn hat (den hat es bestimmt) wo und als was ist SRF08 definiert? danke, marcel
1: siehe http://gcc.gnu.org/onlinedocs/gcc-3.2.1/gcc/Attribute-Syntax.html#Attribute%20Syntax "naked" generiert eine Funktion ohne Prolog und Epilog. Kurz und gut: für Leute, die wissen, was sie damit tun. ;-) Sieh Dir den generierten Assemblercode dafür an. 2. Damit sowohl memory-mapped IO als auch Port IO transparent öglich sind. Siehe http://savannah.nongnu.org/download/avr-libc/doc/avr-libc-user-manual/group__avr__sfr.html Definiert sind sie in <avr/sfr_defs.h>, einer Datei, die man nie selbst includen sollte, sondern die via <avr/io.h> immer included wird.
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.