Wie läuft der Ladevorgang beim arduino ab.

OP #4993147
Lesenswert?

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!
OP #4993159
Lesenswert?

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.
Gast #4993176
Lesenswert?

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.

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