Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: EthernetInterface mbed-rtos mbed
main.cpp
00001 #include "mbed.h" 00002 #include "EthernetInterface.h" 00003 00004 #define ECHO_SERVER_PORT 7 00005 00006 DigitalOut heartbeatLed(LED_GREEN); 00007 DigitalOut myled(LED_RED); 00008 00009 void server_thread(void const* arg) { 00010 00011 TCPSocketServer server; 00012 00013 server.set_blocking (true); 00014 server.bind(ECHO_SERVER_PORT); 00015 server.listen(1); 00016 while (true) 00017 { 00018 //printf("Wait for new connection...\r\n"); 00019 TCPSocketConnection client; 00020 server.accept(client); 00021 client.set_blocking(false, true); // Timeout after (1.5)s 00022 00023 //printf("Connection from: %s\r\n", client.get_address()); 00024 char buffer[256]; 00025 while (true) { 00026 int n = client.receive(buffer, sizeof(buffer)); 00027 if (n <= 0) break; 00028 00029 if(buffer[0]=='Y'){ 00030 myled=1; 00031 }else{ 00032 myled=0; 00033 } 00034 00035 sprintf(buffer, "Hi Alisha.How are u?"); 00036 client.send_all(buffer, n); 00037 if (n <= 0) break; 00038 } 00039 client.close(); 00040 } 00041 } 00042 00043 00044 int main (void) 00045 { 00046 00047 //printf("Wait a second...\r\n"); 00048 //uint8_t mac_addr[6] = {0x00, 0x08, 0xDC, 0x00, 0x01, 0x02}; 00049 static const char* mbedIp = "192.168.64.232"; //IP 00050 static const char* mbedMask = "255.255.255.0"; // Mask 00051 static const char* mbedGateway = "192.168.64.1"; //Gateway 00052 00053 EthernetInterface eth; 00054 eth.init(mbedIp, mbedMask, mbedGateway); //Use DHCP 00055 eth.connect(); 00056 //printf("Server IP Address is %s\r\n", eth.getIPAddress()); 00057 00058 Thread server(&server_thread); 00059 00060 while(true){ 00061 Thread::wait(1000); 00062 // Heartbeat. 00063 // The board systematically crashes after a low number of sends from a client, 00064 // e.g. ~10 times 1000 bytes, ~2-3 times 10000 bytes, etc. 00065 heartbeatLed = !heartbeatLed; 00066 } 00067 00068 } 00069
Generated on Wed Jul 13 2022 03:46:11 by
1.7.2