programme

Dependencies:   EthernetInterface mbed-rtos mbed

Revision:
0:8a6f406dd109
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Tue Jun 16 12:13:57 2015 +0000
@@ -0,0 +1,78 @@
+#include "mbed.h"
+#include "EthernetInterface.h"
+
+
+
+EthernetInterface eth;
+char ip[] = "192.168.1.10";
+char masque[] = "255.255.255.0";
+char passerelle[] = "192.168.1.255";
+TCPSocketServer server;
+TCPSocketConnection client;
+int serveur_port = 2000;
+DigitalOut myled(LED1);
+Serial pc(USBTX, USBRX);
+int main() {
+bool client_connected = false;
+char buffer [100];
+pc.printf("Hello, I'm happy my Serial port is ok.\n\r");
+if (eth.init(ip,masque,passerelle)!=0) {
+pc.printf("ERREUR INIT ETHERNET\r\n");
+return -1;
+}
+if (eth.connect()!=0) {
+pc.printf("ERREUR CONNECT\r\n");
+return -1;
+}
+pc.printf("L addresse Ip est %s\r\n", eth.getIPAddress());
+pc.printf("IP est OK, vous pouvez continuer\r\n");
+if (server.bind (serveur_port)!=0) {
+pc.printf("Erreur Tcp bind\r\n");
+return -1;
+}
+pc.printf("Succes Tcp Bind\r\n");
+if (server.listen()!=0){
+pc.printf("ERREUR Tcp Listen\r\n");
+return -1;
+}
+pc.printf("Succes Tcp listen\r\n");
+pc.printf("Connectez un client Tcp port 2000...\r\n");
+client.set_blocking(false, 100); // Timeout after (100ms)
+while(1) {
+if (client_connected==false)
+{
+if (server.accept (client)!=0){
+pc.printf("ERREUR connexion client\r\n"); // erreur
+return -1;
+}
+client_connected = true;
+pc.printf("Client Tcp connecte\r\n");
+pc.printf("Adresse Ip client %s\r\n",client.get_address());
+client.send("Hello\r\n",strlen("Hello\r\n"));
+}
+else
+{
+if ( client.is_connected() )
+{
+if (pc.readable()) // interface virtuel serie recoit donnees
+{
+buffer[0] = pc.getc();
+client.send(buffer,1);
+}
+int nbcaractere = client.receive(buffer,sizeof(buffer));
+if (nbcaractere>0) // interface Ethernet recoit donnees
+{
+buffer[nbcaractere] = 0;
+pc.printf("%s",buffer);
+}
+}
+else
+{
+client_connected = false;
+client.close();
+pc.printf("Client deconnecte\r\n");
+pc.printf("Connectez un client Tcp port 2000...\r\n");
+}
+}
+}
+}
\ No newline at end of file