C Control PRO Unit Mega 128 198219 User Manual

Product codes
198219
Page of 429
265
C-Control Pro IDE
© 2013 Conrad Electronic
  Man kann beim Stoppen des  Programms  mit  dem Start/Stop Taster den lwIP  TCP/IP-Stack  in
den Zustand bringen,  das  noch dynamischer Speicher der aktuellen  Verbindung  nicht  frei  gegeben
wird. Dieser Speicher kann beim Neustart des Programms  fehlen.  Bei Problemen sollte im Zweifels-
fall der Reset-Taster betätigt werden, um einen kompletten Neustart des Systems auszulösen.
5.11.2 TCP/IP Programmierung
Eine TCP/IP Verbindung öffnen:
Mit 
 einen Empfangspuffer anlegen.
Der  Aufruf  von  
 baut  eine  Verbindung  auf  und  setzt  den  internen  State  auf
ES_CONNECTING.
Man  überwacht  mit  
 den  Zustand  der  Verbindung.  Nach  ES_CONNECTING
kann  der  Wert  sich  auf  ES_CONNECTED  oder  ES_DISCONNECTED  ändern.  Bei
ES_CONNECTED  ist  die  Verbindung  aufgebaut,  sonst  fand  eine  eine  Zeitüberschreitung  statt,
oder die Gegenstelle hat abgelehnt.
Ist die Verbindung aufgebaut, kann man mit 
 Daten senden.
Gleichzeitig ist  mit  
 periodisch zu überprüfen ob Daten  eingegangen  sind,
und man muss  mit  
 überwachen,  ob  die  Verbindung  nicht  irgendwann  in  den
Zustand ES_DISCONNECTED fällt.
Ein Aufruf von 
 beendet die Verbindung.
Auf einem TCP/IP Port auf eine eingehende Verbindung warten:
Mit 
 einen Empfangspuffer anlegen.
 überwacht einen spezifizierten Port.
Man überprüft  mit  
 periodisch ob Daten  eingegangen  sind  und  damit  eine
neue Verbindung von außen aufgemacht wurde.  Der Zustand von 
 hat  jetzt  den
Wert ES_LCONNECTED.
Ist die Verbindung aufgebaut, kann man mit 
 Daten senden.
Man  muss  mit  
 überwachen,  ob  die  Verbindung  nicht  irgendwann  in  den  Zu-
stand ES_DISCONNECTED fällt.
Ein Aufruf von 
 beendet die Verbindung.
  Es ist zu empfehlen, sich die 
 für UDP und TCP/IP anzuschauen.
   Es  können gleichzeitig bis  zu 10 TCP/IP  Verbindungen aufgemacht  werden,  und  bei  bis  zu  3
Ports auf eingehende Verbindungen gelauscht werden.
  Als Default sind 4kb für den TCP/IP  Stack  reserviert.  Je nach Nutzung braucht  der Stack  mehr
oder weniger RAM.  Der benötigte Speicher ist  nur aufwendig zu berechnen,  und sollte selbst  durch
Tests ermittelt werden.
Beispiele
Das  Programm baut  eine  Verbindung  zum  HTTP  Port  auf,  schickt  ein  "GET"  Kommando  ab,  und
empfängt die Antwort: