Nucleo_L152RE_W5500HelloWorld_ver2
Dependencies: SDFileSystem WIZnet_Library mbed
Fork of Nucleo_L152RE_W5500HelloWorld by
Diff: main.cpp
- Revision:
- 2:a2cf65b34267
- Parent:
- 1:9a6af61c5eb4
- Child:
- 3:fa8925fb003a
--- a/main.cpp Sun May 17 11:12:56 2015 +0000 +++ b/main.cpp Mon Jan 18 01:47:44 2016 +0000 @@ -1,30 +1,34 @@ +// Nucloe_L152RE_W5500_Ethernet shield Exmaple + #include "mbed.h" #include "WIZnetInterface.h" +#include "SDFileSystem.h" +#include "UDPSocket.h" -#define USE_DHCP 1 - -#define LOOPBACKPORT 5000 +//#define USE_DHCP 1 // DHCP 사용할때 사용 +//#define USE_UDP 1 +#define USE_TCP 1 -const char * IP_Addr = "192.168.11.194"; +#define TCP_PORT 5000 +#define UDP_PORT 7000 + +const char * IP_Addr = "192.168.0.194"; const char * IP_Subnet = "255.255.255.0"; -const char * IP_Gateway = "192.168.11.1"; -unsigned char MAC_Addr[6] = {0x00,0x08,0xDC,0x12,0x34,0x56}; +const char * IP_Gateway = "192.168.0.1"; +unsigned char MAC_Addr[6] = {0x00,0x08,0xDC,0x01,0x02,0x03}; + +const char * UDP_IP = "0.0.0.0"; + +SDFileSystem sd(PA_7, PA_6, PA_5, PB_5, "sd"); DigitalOut myled1(LED1); Serial pc(USBTX, USBRX); -#ifdef TARGET_LPC11U68 - SPI spi(P0_9,P0_8,P1_29); - WIZnetInterface ethernet(&spi,P0_2,P1_13); -#elif defined(TARGET_NUCLEO_F103RB) - SPI spi(PA_7, PA_6, PA_5); // mosi, miso, sclk - WIZnetInterface ethernet(&spi, PB_6, PA_9);//scs(PB_6), nRESET(PA_9); // reset pin is dummy, don't affect any pin of WIZ550io -#endif +SPI spi(PA_7, PA_6, PA_5); // mosi, miso, sclk +WIZnetInterface ethernet(&spi, PB_6, PA_9);//scs(PB_6), nRESET(PA_9); // reset pin is dummy, don't affect any pin of WIZ550io int main() { - - mbed_mac_address((char *)MAC_Addr); //Use mbed mac addres - + //Set serial port baudrate speed: 115200 pc.baud(115200); wait(10); @@ -32,11 +36,25 @@ char buffer[256]; + //SD-CARD + printf("Hello World!\n"); + mkdir("/sd/mydir", 0777); + FILE *fp = fopen("/sd/mydir/sdtest.txt", "w"); + if(fp == NULL) { + error("Could not open file for write\n"); + } + fprintf(fp, "Hello fun SD Card World!"); + fclose(fp); + printf("Goodbye World!\n"); + //SD-CARD END + while(1) { #if USE_DHCP + pc.printf("DHCP ON \r\n"); int ret = ethernet.init(MAC_Addr); #else + pc.printf("DHCP OFF \r\n"); int ret = ethernet.init(MAC_Addr,IP_Addr,IP_Subnet,IP_Gateway); #endif @@ -62,16 +80,34 @@ pc.printf("Error ethernet.init() - ret = %d\r\n", ret); exit(0); } +#if USE_UDP + UDPSocket UDP_server; + UDP_server.init(); + Endpoint nist; + nist.set_address(UDP_IP, UDP_PORT); + UDP_server.bind(UDP_PORT); + pc.printf("UDP PORT %d \r\n", UDP_PORT); + pc.printf("\nWait for message...\r\n"); + + while (1) { + int n = UDP_server.receiveFrom(nist, buffer, sizeof(buffer)); + if(n > 0){ + UDP_server.sendTo(nist, buffer, n); + } + } +#endif +#if USE_TCP TCPSocketServer server; - server.bind(LOOPBACKPORT); + server.bind(TCP_PORT); + pc.printf("TCP PORT %d \r\n", TCP_PORT); server.listen(); while (1) { pc.printf("\nWait for new connection...\r\n"); TCPSocketConnection client; server.accept(client); - client.set_blocking(false, 0); // Timeout=0. + //client.set_blocking(false, 0); // Timeout=0. pc.printf("Connection from: %s\r\n", client.get_address()); while (client.is_connected() == true) { int n = client.receive(buffer, sizeof(buffer)); @@ -82,5 +118,6 @@ } pc.printf("Disconnected.\r\n"); } +#endif } }