port ethernet libray for stm32f407 (seeed arch max). it works.
Dependencies: EthernetInterface-arch-max-dev mbed-rtos mbed-src
Fork of TCPSocket_HelloWorld by
main.cpp@16:ded63414139d, 2015-03-02 (annotated)
- 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?
User | Revision | Line number | New 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 | } |