The Example of SNTP for W5500 running on Nucleo board

Dependencies:   SNTPClient WIZnet_Library mbed

Fork of SNTP_Ethernet_W5500 by Raphael Kwon

Committer:
sjallouli
Date:
Tue Dec 29 19:18:35 2015 +0000
Revision:
1:c4d6fee8d958
Parent:
0:2176bc9b0007
SNTP Using NUCLEO-F411RE and WIZnet5500

Who changed what in which revision?

UserRevisionLine numberNew contents of line
xeon011 0:2176bc9b0007 1 #include "mbed.h"
sjallouli 1:c4d6fee8d958 2 #include "WIZnetInterface.h"
xeon011 0:2176bc9b0007 3 #include "SNTPClient.h"
xeon011 0:2176bc9b0007 4
sjallouli 1:c4d6fee8d958 5 /*
sjallouli 1:c4d6fee8d958 6 * WIZnet 5500 Config for nucleo 411
sjallouli 1:c4d6fee8d958 7 */
sjallouli 1:c4d6fee8d958 8 Serial pc(SERIAL_TX, SERIAL_RX);
sjallouli 1:c4d6fee8d958 9 SPI spi(SPI_MOSI, SPI_MISO, SPI_SCK); // mosi, miso, sclk
xeon011 0:2176bc9b0007 10
sjallouli 1:c4d6fee8d958 11 #define USE_DHCP 1
xeon011 0:2176bc9b0007 12
sjallouli 1:c4d6fee8d958 13 const char * IP_Addr = "192.168.2.72";
sjallouli 1:c4d6fee8d958 14 const char * IP_Subnet = "255.255.255.0";
sjallouli 1:c4d6fee8d958 15 const char * IP_Gateway = "192.168.2.2";
sjallouli 1:c4d6fee8d958 16 //unsigned char MAC_Addr[6] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
sjallouli 1:c4d6fee8d958 17 unsigned char MAC_Addr[6] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xDD };
xeon011 0:2176bc9b0007 18
sjallouli 1:c4d6fee8d958 19 int main()
sjallouli 1:c4d6fee8d958 20 {
sjallouli 1:c4d6fee8d958 21 pc.baud(115200); // console terminal to 115200 baud
xeon011 0:2176bc9b0007 22
sjallouli 1:c4d6fee8d958 23 spi.frequency(1000000);
sjallouli 1:c4d6fee8d958 24 WIZnetInterface ethernet(&spi,D10, D3);
sjallouli 1:c4d6fee8d958 25
sjallouli 1:c4d6fee8d958 26 pc.printf("Ethernet Init\r\n");
sjallouli 1:c4d6fee8d958 27 #if USE_DHCP
sjallouli 1:c4d6fee8d958 28 int ret = ethernet.init(MAC_Addr);
xeon011 0:2176bc9b0007 29 #else
sjallouli 1:c4d6fee8d958 30 int ret = ethernet.init(MAC_Addr,IP_Addr,IP_Subnet,IP_Gateway);
xeon011 0:2176bc9b0007 31 #endif
xeon011 0:2176bc9b0007 32
sjallouli 1:c4d6fee8d958 33 if (!ret)
sjallouli 1:c4d6fee8d958 34 {
sjallouli 1:c4d6fee8d958 35 pc.printf("Initialized, MAC: %s\r\n", ethernet.getMACAddress());
sjallouli 1:c4d6fee8d958 36 ret = ethernet.connect();
sjallouli 1:c4d6fee8d958 37
sjallouli 1:c4d6fee8d958 38 if (!ret)
sjallouli 1:c4d6fee8d958 39 {
sjallouli 1:c4d6fee8d958 40 pc.printf("IP: %s, MASK: %s, GW: %s\r\n", ethernet.getIPAddress(), ethernet.getNetworkMask(), ethernet.getGateway());
sjallouli 1:c4d6fee8d958 41 }
sjallouli 1:c4d6fee8d958 42 else
sjallouli 1:c4d6fee8d958 43 {
sjallouli 1:c4d6fee8d958 44 pc.printf("Error ethernet.connect() - ret = %d\r\n", ret);
sjallouli 1:c4d6fee8d958 45 exit(0);
sjallouli 1:c4d6fee8d958 46 }
sjallouli 1:c4d6fee8d958 47 }
sjallouli 1:c4d6fee8d958 48 else
sjallouli 1:c4d6fee8d958 49 {
sjallouli 1:c4d6fee8d958 50 pc.printf("Error ethernet.init() - ret = %d\r\n", ret);
sjallouli 1:c4d6fee8d958 51 exit(0);
sjallouli 1:c4d6fee8d958 52 }
sjallouli 1:c4d6fee8d958 53
sjallouli 1:c4d6fee8d958 54 printf("IP Address is %s\n\r", ethernet.getIPAddress());
xeon011 0:2176bc9b0007 55
sjallouli 1:c4d6fee8d958 56 SNTPClient sntp("time.nist.gov", 6); // timezone: PST
sjallouli 1:c4d6fee8d958 57 sntp.connect();
sjallouli 1:c4d6fee8d958 58
sjallouli 1:c4d6fee8d958 59 datetime time;
sjallouli 1:c4d6fee8d958 60
sjallouli 1:c4d6fee8d958 61 while (1)
sjallouli 1:c4d6fee8d958 62 {
sjallouli 1:c4d6fee8d958 63 if(sntp.getTime(&time) == true)
sjallouli 1:c4d6fee8d958 64 {
sjallouli 1:c4d6fee8d958 65 printf("%d-%d-%d, %d:%d:%d\r\n", time.yy, time.mo, time.dd, time.hh, time.mm, time.ss);
xeon011 0:2176bc9b0007 66 }
sjallouli 1:c4d6fee8d958 67 else
sjallouli 1:c4d6fee8d958 68 {
sjallouli 1:c4d6fee8d958 69 printf("failed receive..\r\n");
xeon011 0:2176bc9b0007 70 }
sjallouli 1:c4d6fee8d958 71
sjallouli 1:c4d6fee8d958 72 wait(1.0);
sjallouli 1:c4d6fee8d958 73 }
xeon011 0:2176bc9b0007 74 }