Webserver von Simon Küppers mit ATmega328

Gast #1364625
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
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
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
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

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.