Webserver von Simon Küppers mit ATmega328

Gast #1364625
Lesenswert?

Hallo,

ich hab für ein Projekt mal den Webserver von Simon Küppers nachgebaut 
und statt dem ATmega168 den 328 genutzt. Jetzt bin ich am Code schreiben 
und komme langsam an die 16KB Grenze. Also wollte ich im AVR Studio die 
Mikrocontrollertyp für die Kompilierung vom 168 auf 328 umstellen. Hab 
ich auch gemacht, nur leider kriege ich jetzt beim Kompilieren die 
schönsten Fehlermeldungen angezeigt.
Deshalb wollte ich fragen, ob mir jemand bei der Portierung helfen kann, 
da ich davon kaum Ahnung hab. Noch besser wäre natürlich, wenn jemand 
schon den portierten Code hätte.
Im Thread zu dem Webserver habe ich schon mal nachgelesen, da schrieb 
jemand, dass man nur ein paar defines Umschreiben müsste. Welche wären 
das?

Vielen Dank im Voraus.
Gast #1364664
Lesenswert?

Oh... entschuldigung.
1
rm -rf Enc28j60.o Spi.o HttpD.o uip.o uip_arp.o uip_TcpAppHub.o uip_UdpAppHub.o Main.o Gpio.o  uWebSrv.elf dep/* uWebSrv.hex uWebSrv.eep uWebSrv.lss uWebSrv.map
2
Build succeeded with 0 Warnings...
3
../Hardware/Enc28j60.c: In function 'Enc28j60ReadReg':
4
../Hardware/Enc28j60.c:310: error: 'PB2' undeclared (first use in this function)
5
../Hardware/Enc28j60.c:310: error: (Each undeclared identifier is reported only once
6
../Hardware/Enc28j60.c:310: error: for each function it appears in.)
7
../Hardware/Enc28j60.c: In function 'Enc28j60WriteReg':
8
../Hardware/Enc28j60.c:325: error: 'PB2' undeclared (first use in this function)
9
../Hardware/Enc28j60.c: In function 'Enc28j60SetMaskReg':
10
../Hardware/Enc28j60.c:336: error: 'PB2' undeclared (first use in this function)
11
../Hardware/Enc28j60.c: In function 'Enc28j60ClearMaskReg':
12
../Hardware/Enc28j60.c:347: error: 'PB2' undeclared (first use in this function)
13
../Hardware/Enc28j60.c: In function 'Enc28j60Reset':
14
../Hardware/Enc28j60.c:403: error: 'PB2' undeclared (first use in this function)
15
../Hardware/Enc28j60.c: In function 'Enc28j60Init':
16
../Hardware/Enc28j60.c:425: error: 'PB3' undeclared (first use in this function)
17
../Hardware/Enc28j60.c:425: error: 'PB2' undeclared (first use in this function)
18
../Hardware/Enc28j60.c:425: error: 'PB5' undeclared (first use in this function)
19
../Hardware/Enc28j60.c:426: error: 'PB1' undeclared (first use in this function)
20
../Hardware/Enc28j60.c:426: error: 'PB4' undeclared (first use in this function)
21
../Hardware/Enc28j60.c: In function 'Enc28j60Receive':
22
../Hardware/Enc28j60.c:512: error: 'PB2' undeclared (first use in this function)
23
../Hardware/Enc28j60.c: In function 'Enc28j60CopyPacket':
24
../Hardware/Enc28j60.c:580: error: 'PB2' undeclared (first use in this function)
25
../Hardware/Enc28j60.c: In function 'Enc28j60CopyChecksum':
26
../Hardware/Enc28j60.c:643: error: 'PB2' undeclared (first use in this function)
27
make: *** [Enc28j60.o] Error 1
28
Build failed with 15 errors and 0 warnings...

Den Code gibts hier: 
http://klinkerstein.m-faq.de/Downloads/MicroWebServer/Sources.zip

Vielleicht stell ich mich auch blöd an, aber einen Tip worans liegen 
könnte würde mir sehr weiterhelfen.
Gast #1364856
Lesenswert?

wer lesen kann ist klar im Vorteil.......

Original-Text aus dem Thread von Simon:
> bei Verwendung des 328P und Eclipse müssen die Pin-Defines geändert
> werden. z.B. PB3 in PINB3

und jetzt deine Fehlerausgabe:
> error: 'PB2' undeclared (first use in this function)

fällt dir was auf??
#1364915
Lesenswert?

Ianstatt das überall auszutauschen, würd ich nen kompatibilitätsheader 
anlegen und da die fehlenden einfach definiere.

Abgesehen davon war es noch nie clever im Code überall die direkten 
Pin-Defines zu benutzen.

Normalerweise sollte man sich für jeden Pin ein extradefine anlegen, 
dann fällt es später leichter, wenn man doch mal eine komponente an 
einen anderen Pin hängt.

Bsp:
#define PINLED1 PINB4

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren