petfeeder st ver

Dependencies:   SDFileSystem WIZnetInterface petfeeder_st_ver mbed

Fork of Nucleo_F103RB_W5500HelloWorld by WIZnet

Committer:
kzl108
Date:
Sun May 17 11:12:56 2015 +0000
Revision:
1:9a6af61c5eb4
Parent:
0:412f9c1172b7
Child:
2:84c4d61780d7
Test with Nucleo-F103RB

Who changed what in which revision?

UserRevisionLine numberNew contents of line
bangbh 0:412f9c1172b7 1 #include "mbed.h"
bangbh 0:412f9c1172b7 2 #include "WIZnetInterface.h"
bangbh 0:412f9c1172b7 3
bangbh 0:412f9c1172b7 4 #define USE_DHCP 1
bangbh 0:412f9c1172b7 5
bangbh 0:412f9c1172b7 6 #define LOOPBACKPORT 5000
bangbh 0:412f9c1172b7 7
bangbh 0:412f9c1172b7 8 const char * IP_Addr = "192.168.11.194";
bangbh 0:412f9c1172b7 9 const char * IP_Subnet = "255.255.255.0";
bangbh 0:412f9c1172b7 10 const char * IP_Gateway = "192.168.11.1";
bangbh 0:412f9c1172b7 11 unsigned char MAC_Addr[6] = {0x00,0x08,0xDC,0x12,0x34,0x56};
bangbh 0:412f9c1172b7 12
bangbh 0:412f9c1172b7 13 DigitalOut myled1(LED1);
bangbh 0:412f9c1172b7 14 Serial pc(USBTX, USBRX);
bangbh 0:412f9c1172b7 15
bangbh 0:412f9c1172b7 16 #ifdef TARGET_LPC11U68
kzl108 1:9a6af61c5eb4 17 SPI spi(P0_9,P0_8,P1_29);
kzl108 1:9a6af61c5eb4 18 WIZnetInterface ethernet(&spi,P0_2,P1_13);
kzl108 1:9a6af61c5eb4 19 #elif defined(TARGET_NUCLEO_F103RB)
kzl108 1:9a6af61c5eb4 20 SPI spi(PA_7, PA_6, PA_5); // mosi, miso, sclk
kzl108 1:9a6af61c5eb4 21 WIZnetInterface ethernet(&spi, PB_6, PA_9);//scs(PB_6), nRESET(PA_9); // reset pin is dummy, don't affect any pin of WIZ550io
bangbh 0:412f9c1172b7 22 #endif
bangbh 0:412f9c1172b7 23
bangbh 0:412f9c1172b7 24 int main() {
bangbh 0:412f9c1172b7 25
bangbh 0:412f9c1172b7 26 mbed_mac_address((char *)MAC_Addr); //Use mbed mac addres
bangbh 0:412f9c1172b7 27
bangbh 0:412f9c1172b7 28 //Set serial port baudrate speed: 115200
bangbh 0:412f9c1172b7 29 pc.baud(115200);
kzl108 1:9a6af61c5eb4 30 wait(10);
kzl108 1:9a6af61c5eb4 31 pc.printf("W5500 Application Started \r\n");
bangbh 0:412f9c1172b7 32
bangbh 0:412f9c1172b7 33 char buffer[256];
bangbh 0:412f9c1172b7 34
bangbh 0:412f9c1172b7 35 while(1)
bangbh 0:412f9c1172b7 36 {
bangbh 0:412f9c1172b7 37 #if USE_DHCP
bangbh 0:412f9c1172b7 38 int ret = ethernet.init(MAC_Addr);
bangbh 0:412f9c1172b7 39 #else
bangbh 0:412f9c1172b7 40 int ret = ethernet.init(MAC_Addr,IP_Addr,IP_Subnet,IP_Gateway);
bangbh 0:412f9c1172b7 41 #endif
bangbh 0:412f9c1172b7 42
kzl108 1:9a6af61c5eb4 43
kzl108 1:9a6af61c5eb4 44 printf("SPI Initialized \r\n");
kzl108 1:9a6af61c5eb4 45 wait(1); // 1 second for stable state
kzl108 1:9a6af61c5eb4 46
kzl108 1:9a6af61c5eb4 47 printf("W5500 Networking Started \r\n");
kzl108 1:9a6af61c5eb4 48 wait(1); // 1 second for stable state
kzl108 1:9a6af61c5eb4 49
kzl108 1:9a6af61c5eb4 50
bangbh 0:412f9c1172b7 51 if (!ret) {
bangbh 0:412f9c1172b7 52 pc.printf("Initialized, MAC: %s\r\n", ethernet.getMACAddress());
bangbh 0:412f9c1172b7 53 ret = ethernet.connect();
bangbh 0:412f9c1172b7 54 if (!ret) {
bangbh 0:412f9c1172b7 55 pc.printf("IP: %s, MASK: %s, GW: %s\r\n",
bangbh 0:412f9c1172b7 56 ethernet.getIPAddress(), ethernet.getNetworkMask(), ethernet.getGateway());
bangbh 0:412f9c1172b7 57 } else {
bangbh 0:412f9c1172b7 58 pc.printf("Error ethernet.connect() - ret = %d\r\n", ret);
bangbh 0:412f9c1172b7 59 exit(0);
bangbh 0:412f9c1172b7 60 }
bangbh 0:412f9c1172b7 61 } else {
bangbh 0:412f9c1172b7 62 pc.printf("Error ethernet.init() - ret = %d\r\n", ret);
bangbh 0:412f9c1172b7 63 exit(0);
bangbh 0:412f9c1172b7 64 }
bangbh 0:412f9c1172b7 65
bangbh 0:412f9c1172b7 66 TCPSocketServer server;
bangbh 0:412f9c1172b7 67 server.bind(LOOPBACKPORT);
bangbh 0:412f9c1172b7 68 server.listen();
bangbh 0:412f9c1172b7 69
bangbh 0:412f9c1172b7 70 while (1) {
bangbh 0:412f9c1172b7 71 pc.printf("\nWait for new connection...\r\n");
bangbh 0:412f9c1172b7 72 TCPSocketConnection client;
bangbh 0:412f9c1172b7 73 server.accept(client);
bangbh 0:412f9c1172b7 74 client.set_blocking(false, 0); // Timeout=0.
bangbh 0:412f9c1172b7 75 pc.printf("Connection from: %s\r\n", client.get_address());
bangbh 0:412f9c1172b7 76 while (client.is_connected() == true) {
bangbh 0:412f9c1172b7 77 int n = client.receive(buffer, sizeof(buffer));
bangbh 0:412f9c1172b7 78 if(n > 0)
bangbh 0:412f9c1172b7 79 client.send_all(buffer, n);
bangbh 0:412f9c1172b7 80 if(client.is_fin_received())
bangbh 0:412f9c1172b7 81 client.close();
bangbh 0:412f9c1172b7 82 }
bangbh 0:412f9c1172b7 83 pc.printf("Disconnected.\r\n");
bangbh 0:412f9c1172b7 84 }
bangbh 0:412f9c1172b7 85 }
bangbh 0:412f9c1172b7 86 }