Habe mir die alte version des Webservers von Ulrich Radig geholt. Das ganze ist unter anderem ausgelegt für einen ATmega32. Kompilieren klappt wunderbar ohne meckern. Wenn ich dem AVR Studio aber sage das ich nun einen 1284P verwende der ja die gleiche Pinbelegung hat wie der 32er dann kommen 34 Error Meldungen und 11 Warnungen. Hier zB die Fehler: 1 "SPDR" redefined 2 this is the location of the previous definition 3 "SPCR" redefined 4 this is the location of the previous definition 5 "SPSR" redefined 6 this is the location of the previous definition 7 "SPIF" redefined 8 this is the location of the previous definition 9 "MSTR" redefined 10 this is the location of the previous definition 11 "CPOL" redefined 12 this is the location of the previous definition 13 "DORD" redefined 14 this is the location of the previous definition 15 "SPR0" redefined 16 this is the location of the previous definition 17 "SPR1" redefined 18 this is the location of the previous definition 19 "SPI2X" redefined 20 this is the location of the previous definition 21 "SPE" redefined 22 this is the location of the previous definition 23 lvalue required as left operand of assignment 24 'SPSR0' undeclared (first use in this function) 25 each undeclared identifier is reported only once for each function it appears in 26 'SPIF0' undeclared (first use in this function) 27 lvalue required as left operand of assignment 28 lvalue required as left operand of assignment 29 lvalue required as left operand of assignment 30 'SPSR0' undeclared (first use in this function) 31 'SPIF0' undeclared (first use in this function) 32 lvalue required as left operand of assignment 33 lvalue required as left operand of assignment 34 'SPSR0' undeclared (first use in this function) 35 'SPIF0' undeclared (first use in this function) 36 lvalue required as left operand of assignment 37 lvalue required as left operand of assignment 38 'SPSR0' undeclared (first use in this function) 39 'SPIF0' undeclared (first use in this function) 40 lvalue required as left operand of assignment 41 'SPCR0' undeclared (first use in this function) 42 'MSTR0' undeclared (first use in this function) 43 'SPSR0' undeclared (first use in this function) 44 'SPI2X0' undeclared (first use in this function) 45 'SPE0' undeclared (first use in this function) Hat jemand ne Ahnung was ich da ändern muss? Im Atmega1284P existiert das SPi Status Register zB ganz normal aber irgendwie scheint da was nicht richtig zu fiunktionieren.
ups das ja dumm.... die defines fehlen ja weil die für den 1284P nicht festgelegt sind Kann ich einfach hingehen und 32 mit 1284P ersetzen bei den defines ?
Erstmal musst du die Datenblätter dahingehend vergleichen, ob die Funktionen der Pins auch übereinstimmen. Dann musst du schauen ob die Registernamen übereinstimmen und letztlich noch schauen ob die für die Funktionen entsprechenden Bits in den Registern auch übereinstimmen. Dann kannst du die Defines anpassen.
>Kann ich einfach hingehen und 32 mit 1284P ersetzen bei den defines ?
Natürlich nicht. Aber du kannst mal nachsehen ob defines
für den ATMega644p mit drin sind. Der kommt deinem am nächsten.
Da fügst du Einträge für deinen ATMega1284p hinzu.
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.