Forum: Mikrocontroller und Digitale Elektronik Webserver [Ulrich Radig] - anderer µC gibt viele Fehler


von André R. (andr_r23)


Lesenswert?

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.

von ... (Gast)


Lesenswert?

ATmega32 != ATmega1284p

von André R. (andr_r23)


Lesenswert?

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 ?

von ... (Gast)


Lesenswert?

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.

von holger (Gast)


Lesenswert?

>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
Noch kein Account? Hier anmelden.