Hallo Ich habe ein arduino mega 2560 mit ein ENC28J60 lan Chip. DA die Webseite größer ist wie der ram des 2560 habe ich die Seite nicht im RAM gelegt sondern lasse sie im speicher mit ( client.print(F("....")); Jetzt kommt aber die frage auf wenn der Chip sie Seite raus geben soll muss sie ja dennoch im RAM geladen werden, Passiert das im ganzen oder in teilen ? Also eine Zeile Code lesen im RAM kopieren senden und löschen dann nächste Zeile lesen kopieren senden und löschen ? Ich habe vor der Übertragung sowie nach der Übertragung rund 70% des arbeitsspeicher des 2560 frei. Jedenfalls wenn man client.print( freeRam()); glauben darf. Wäre super wenn mir jemand kurz erklären könnte wie die Übertragung abläuft. Vielen dank!
hier gibt es Lesestoff, http://www.ethersex.de/index.php/Main_Page ich setze einen ATmega1284p als Webserver ein, Pollin NETIO
Bist mir aber nicht böse wenn ich sage das ich damit nicht viel anfangen kann ?
DAVID -. schrieb: > Wäre super wenn mir jemand kurz erklären könnte wie die Übertragung > abläuft. Du hast das Programm doch geschrieben. Oder etwa nicht? Bei Arduino kommt mir immer der Verdacht nach "Copy&Paste".
Ja habe es geschrieben und selber angepasst ja ist richtig. Ich weiß so vom groben aber nur das F dafür steht es im RAM zuspeichern. Nicht aber ob alles gleichzeitig geladen wird oder der reihe nach. (client.print(F("....")); ( client.print(F("....")); ( client.print(F("....")); ( client.print(F("....")); ( client.print(F("....")); ( client.print(F("....")); ( client.print(F("....")); ( client.print(F("....")); Eigentlich alles der reihe nach aber ich bin mir nicht sicher und weil die Seite nach stunden oder tagen ausfehlt wollte ich mal diese Wissenslücke schlissen.
DAVID -. schrieb: > Nicht aber ob alles gleichzeitig geladen wird oder der reihe nach. Das läßt sich mit ein klein wenig Nachdenken selbst beantworten. Kann denn die Website auf einer seriellen Schnittstelle (wie es das Netzwerk nun mal ist) wirklich parallel ausgegeben werden?
Nein, client.print() ist schon richtig. Das Server Objekt ist nur der Port-Listener, die Verbindung wird durch bis zu 5 Client Objekte repräsentiert. Du musst die Seite Stückweise ausgeben, je größer die Stücke sind, um so besser die Performance. Aber größer als ein Ethernet Paket wäre wiederum schlecht. WLAn kann maximal 1460 Bytes am Stück, daran würde ich mich orientieren.
Ok vielen dank euch! und wenn ich wirklich sagen wir 1 KB am stück senden kann da kann ich da noch bissel anpassen habe es zur zeit so das möglichst kleine Daten Pakete gesendet werden davon aber sehr viele. Ok vielen dank damit ist mir sehr geholfen.
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.