port ethernet libray for stm32f407 (seeed arch max). it works.
Dependencies: EthernetInterface-arch-max-dev mbed-rtos mbed-src
Fork of TCPSocket_HelloWorld by
Diff: main.cpp
- Revision:
- 16:ded63414139d
- Parent:
- 11:59dcefdda506
- Child:
- 17:bbdfe971ff07
diff -r 69e41cbbc8ac -r ded63414139d main.cpp --- a/main.cpp Sun Sep 21 05:55:13 2014 +0000 +++ b/main.cpp Mon Mar 02 08:25:41 2015 +0000 @@ -3,29 +3,38 @@ int main() { EthernetInterface eth; - eth.init(); //Use DHCP + eth.init("192.168.1.3", "255.255.255.0", "192.168.1.1"); + // eth.init(); // use DHCP eth.connect(); printf("IP Address is %s\n", eth.getIPAddress()); - TCPSocketConnection sock; - sock.connect("mbed.org", 80); +#if 0 + UDPSocket sock; + sock.init(); + sock.set_broadcasting(); - char http_cmd[] = "GET /media/uploads/mbed_official/hello.txt HTTP/1.0\n\n"; - sock.send_all(http_cmd, sizeof(http_cmd)-1); + Endpoint broadcast; + broadcast.set_address("255.255.255.255", 2015); - char buffer[300]; - int ret; + char out_buffer[] = "very important data"; + while (true) { - ret = sock.receive(buffer, sizeof(buffer)-1); - if (ret <= 0) - break; - buffer[ret] = '\0'; - printf("Received %d chars from server:\n%s\n", ret, buffer); + printf("Broadcasting...\n"); + sock.sendTo(broadcast, out_buffer, sizeof(out_buffer)); + Thread::wait(1000); } - - sock.close(); +#else + UDPSocket socket; + socket.bind(2015); + socket.set_broadcasting(); - eth.disconnect(); - - while(1) {} + Endpoint broadcaster; + char buffer[256]; + while (true) { + printf("\nWait for packet...\n"); + int n = socket.receiveFrom(broadcaster, buffer, sizeof(buffer)); + buffer[n] = '\0'; + printf("Packet from \"%s\": %s\n", broadcaster.get_address(), buffer); + } +#endif }