port ethernet libray for stm32f407 (seeed arch max). it works.

Dependencies:   EthernetInterface-arch-max-dev mbed-rtos mbed-src

Fork of TCPSocket_HelloWorld by mbed official

Committer:
yihui
Date:
Mon Mar 02 08:25:41 2015 +0000
Revision:
16:ded63414139d
Parent:
11:59dcefdda506
Child:
17:bbdfe971ff07
developing stm32f407 ethernet, able to receive data

Who changed what in which revision?

UserRevisionLine numberNew contents of line
donatien 0:bb128f0e952f 1 #include "mbed.h"
donatien 0:bb128f0e952f 2 #include "EthernetInterface.h"
donatien 0:bb128f0e952f 3
emilmont 7:65188f4a8c25 4 int main() {
donatien 0:bb128f0e952f 5 EthernetInterface eth;
yihui 16:ded63414139d 6 eth.init("192.168.1.3", "255.255.255.0", "192.168.1.1");
yihui 16:ded63414139d 7 // eth.init(); // use DHCP
donatien 0:bb128f0e952f 8 eth.connect();
emilmont 2:e087e9b789e9 9 printf("IP Address is %s\n", eth.getIPAddress());
donatien 0:bb128f0e952f 10
yihui 16:ded63414139d 11 #if 0
yihui 16:ded63414139d 12 UDPSocket sock;
yihui 16:ded63414139d 13 sock.init();
yihui 16:ded63414139d 14 sock.set_broadcasting();
donatien 0:bb128f0e952f 15
yihui 16:ded63414139d 16 Endpoint broadcast;
yihui 16:ded63414139d 17 broadcast.set_address("255.255.255.255", 2015);
emilmont 7:65188f4a8c25 18
yihui 16:ded63414139d 19 char out_buffer[] = "very important data";
yihui 16:ded63414139d 20
emilmont 7:65188f4a8c25 21 while (true) {
yihui 16:ded63414139d 22 printf("Broadcasting...\n");
yihui 16:ded63414139d 23 sock.sendTo(broadcast, out_buffer, sizeof(out_buffer));
yihui 16:ded63414139d 24 Thread::wait(1000);
emilmont 7:65188f4a8c25 25 }
yihui 16:ded63414139d 26 #else
yihui 16:ded63414139d 27 UDPSocket socket;
yihui 16:ded63414139d 28 socket.bind(2015);
yihui 16:ded63414139d 29 socket.set_broadcasting();
donatien 0:bb128f0e952f 30
yihui 16:ded63414139d 31 Endpoint broadcaster;
yihui 16:ded63414139d 32 char buffer[256];
yihui 16:ded63414139d 33 while (true) {
yihui 16:ded63414139d 34 printf("\nWait for packet...\n");
yihui 16:ded63414139d 35 int n = socket.receiveFrom(broadcaster, buffer, sizeof(buffer));
yihui 16:ded63414139d 36 buffer[n] = '\0';
yihui 16:ded63414139d 37 printf("Packet from \"%s\": %s\n", broadcaster.get_address(), buffer);
yihui 16:ded63414139d 38 }
yihui 16:ded63414139d 39 #endif
donatien 0:bb128f0e952f 40 }