Dependencies: EthernetNetIf mbed
main.cpp@0:fcd581e3ad7d, 2011-06-13 (annotated)
- Committer:
- naegawa
- Date:
- Mon Jun 13 06:47:43 2011 +0000
- Revision:
- 0:fcd581e3ad7d
test1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
naegawa | 0:fcd581e3ad7d | 1 | /* |
naegawa | 0:fcd581e3ad7d | 2 | * Echo server |
naegawa | 0:fcd581e3ad7d | 3 | * Listens on TCP and UDP ports 7 for any incoming connections |
naegawa | 0:fcd581e3ad7d | 4 | * Re-transmits any incoming bytes |
naegawa | 0:fcd581e3ad7d | 5 | */ |
naegawa | 0:fcd581e3ad7d | 6 | |
naegawa | 0:fcd581e3ad7d | 7 | #include "mbed.h" |
naegawa | 0:fcd581e3ad7d | 8 | #include "EthernetNetIf.h" |
naegawa | 0:fcd581e3ad7d | 9 | |
naegawa | 0:fcd581e3ad7d | 10 | #include "EchoServer.h" |
naegawa | 0:fcd581e3ad7d | 11 | |
naegawa | 0:fcd581e3ad7d | 12 | // Our Echo server |
naegawa | 0:fcd581e3ad7d | 13 | EchoServer server; |
naegawa | 0:fcd581e3ad7d | 14 | |
naegawa | 0:fcd581e3ad7d | 15 | /* |
naegawa | 0:fcd581e3ad7d | 16 | Function: main |
naegawa | 0:fcd581e3ad7d | 17 | |
naegawa | 0:fcd581e3ad7d | 18 | Sets up the Ethernet interface using DHCP, reports the assigned |
naegawa | 0:fcd581e3ad7d | 19 | IP address via serial, binds the Echo server to port 7 on |
naegawa | 0:fcd581e3ad7d | 20 | TCP and UDP and then sits in a loop calling Net::poll() to |
naegawa | 0:fcd581e3ad7d | 21 | keep the network stack doing its thing |
naegawa | 0:fcd581e3ad7d | 22 | */ |
naegawa | 0:fcd581e3ad7d | 23 | int main() { |
naegawa | 0:fcd581e3ad7d | 24 | printf("\r\nSetting up...\r\n"); |
naegawa | 0:fcd581e3ad7d | 25 | /* |
naegawa | 0:fcd581e3ad7d | 26 | //use DHCP |
naegawa | 0:fcd581e3ad7d | 27 | |
naegawa | 0:fcd581e3ad7d | 28 | // Our Ethernet interface |
naegawa | 0:fcd581e3ad7d | 29 | EthernetNetIf eth; |
naegawa | 0:fcd581e3ad7d | 30 | EthernetErr ethErr = eth.setup(); |
naegawa | 0:fcd581e3ad7d | 31 | if (ethErr) { |
naegawa | 0:fcd581e3ad7d | 32 | printf("Error %d in setup.\n", ethErr); |
naegawa | 0:fcd581e3ad7d | 33 | return -1; |
naegawa | 0:fcd581e3ad7d | 34 | } |
naegawa | 0:fcd581e3ad7d | 35 | IpAddr ip = eth.getIp(); |
naegawa | 0:fcd581e3ad7d | 36 | */ |
naegawa | 0:fcd581e3ad7d | 37 | IpAddr ip(192,168,0,100);// = eth.getIp(); |
naegawa | 0:fcd581e3ad7d | 38 | EthernetNetIf eth(ip,IpAddr(255,255,255,0),IpAddr(192,168,0,1),IpAddr(192,168,0,1)); |
naegawa | 0:fcd581e3ad7d | 39 | EthernetErr ethErr = eth.setup(); |
naegawa | 0:fcd581e3ad7d | 40 | if (ethErr) { |
naegawa | 0:fcd581e3ad7d | 41 | printf("Error %d in setup.\n", ethErr); |
naegawa | 0:fcd581e3ad7d | 42 | return -1; |
naegawa | 0:fcd581e3ad7d | 43 | } |
naegawa | 0:fcd581e3ad7d | 44 | |
naegawa | 0:fcd581e3ad7d | 45 | printf("mbed IP Address is %d.%d.%d.%d\r\n", ip[0], ip[1], ip[2], ip[3]); |
naegawa | 0:fcd581e3ad7d | 46 | |
naegawa | 0:fcd581e3ad7d | 47 | server.bind(777,666); |
naegawa | 0:fcd581e3ad7d | 48 | |
naegawa | 0:fcd581e3ad7d | 49 | printf("Entering while loop Net::poll()ing\r\n"); |
naegawa | 0:fcd581e3ad7d | 50 | while (1) { |
naegawa | 0:fcd581e3ad7d | 51 | Net::poll(); |
naegawa | 0:fcd581e3ad7d | 52 | } |
naegawa | 0:fcd581e3ad7d | 53 | } |