Ethernet for the NUCLEO STM32F746 Board Testprogram uses DHCP and NTP to set the clock. At the moment there are dependencies to the used compiler. It works with the online compiler
Dependencies: F7_Ethernet mbed
main.cpp@2:bcf5290d42bf, 2016-06-23 (annotated)
- Committer:
- DieterGraef
- Date:
- Thu Jun 23 09:07:47 2016 +0000
- Revision:
- 2:bcf5290d42bf
- Parent:
- 0:f9b6112278fe
Corrected MAC issue
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
DieterGraef | 0:f9b6112278fe | 1 | #include "mbed.h" |
DieterGraef | 0:f9b6112278fe | 2 | #include "rtos.h" |
DieterGraef | 0:f9b6112278fe | 3 | #include "EthernetInterface.h" |
DieterGraef | 0:f9b6112278fe | 4 | #include "NTPClient.h" |
DieterGraef | 0:f9b6112278fe | 5 | #include <stdio.h> |
DieterGraef | 0:f9b6112278fe | 6 | |
DieterGraef | 0:f9b6112278fe | 7 | EthernetInterface eth; |
DieterGraef | 0:f9b6112278fe | 8 | |
DieterGraef | 0:f9b6112278fe | 9 | DigitalOut led1(LED1); |
DieterGraef | 0:f9b6112278fe | 10 | |
DieterGraef | 0:f9b6112278fe | 11 | int main() |
DieterGraef | 0:f9b6112278fe | 12 | { |
DieterGraef | 0:f9b6112278fe | 13 | NTPClient ntp; |
DieterGraef | 0:f9b6112278fe | 14 | char buff[64]; |
DieterGraef | 0:f9b6112278fe | 15 | printf("\n\n*** Ethernet Demo uses NTP to set the clock ***\r\n"); |
DieterGraef | 0:f9b6112278fe | 16 | |
DieterGraef | 0:f9b6112278fe | 17 | if(eth.init()!=0) //for DHCP Server |
DieterGraef | 0:f9b6112278fe | 18 | { |
DieterGraef | 0:f9b6112278fe | 19 | //if(eth.init(IP,MASK,GATEWAY)!=0) { //for Static IP Address |
DieterGraef | 0:f9b6112278fe | 20 | printf("EthernetInterface Initialize Error \r\n"); |
DieterGraef | 0:f9b6112278fe | 21 | |
DieterGraef | 0:f9b6112278fe | 22 | while (1) |
DieterGraef | 0:f9b6112278fe | 23 | { |
DieterGraef | 0:f9b6112278fe | 24 | } |
DieterGraef | 0:f9b6112278fe | 25 | } |
DieterGraef | 0:f9b6112278fe | 26 | if(eth.connect()!=0) |
DieterGraef | 0:f9b6112278fe | 27 | { |
DieterGraef | 0:f9b6112278fe | 28 | printf("EthernetInterface Connect Error \r\n"); |
DieterGraef | 0:f9b6112278fe | 29 | while (1) |
DieterGraef | 0:f9b6112278fe | 30 | { |
DieterGraef | 0:f9b6112278fe | 31 | } |
DieterGraef | 0:f9b6112278fe | 32 | } |
DieterGraef | 0:f9b6112278fe | 33 | printf("IP Address is %s\r\n", eth.getIPAddress()); |
DieterGraef | 0:f9b6112278fe | 34 | printf("NetMask is %s\r\n", eth.getNetworkMask()); |
DieterGraef | 0:f9b6112278fe | 35 | printf("Gateway Address is %s\r\n", eth.getGateway()); |
DieterGraef | 0:f9b6112278fe | 36 | printf("Ethernet Setup OK\r\n"); |
DieterGraef | 0:f9b6112278fe | 37 | printf("Getting time, 10s timeout. \r\n"); |
DieterGraef | 0:f9b6112278fe | 38 | |
DieterGraef | 0:f9b6112278fe | 39 | if (ntp.setTime("0.uk.pool.ntp.org") == 0) |
DieterGraef | 0:f9b6112278fe | 40 | { |
DieterGraef | 0:f9b6112278fe | 41 | time_t ctTime; |
DieterGraef | 0:f9b6112278fe | 42 | ctTime = time(NULL); |
DieterGraef | 0:f9b6112278fe | 43 | printf("Time is set to : %s \r\n", ctime(&ctTime)); |
DieterGraef | 0:f9b6112278fe | 44 | } |
DieterGraef | 0:f9b6112278fe | 45 | else |
DieterGraef | 0:f9b6112278fe | 46 | { |
DieterGraef | 0:f9b6112278fe | 47 | printf("Error getting time \r\n"); |
DieterGraef | 0:f9b6112278fe | 48 | } |
DieterGraef | 0:f9b6112278fe | 49 | |
DieterGraef | 0:f9b6112278fe | 50 | printf("end of programm\r\n"); |
DieterGraef | 0:f9b6112278fe | 51 | while (true) { |
DieterGraef | 0:f9b6112278fe | 52 | led1 = !led1; |
DieterGraef | 0:f9b6112278fe | 53 | Thread::wait(500); |
DieterGraef | 0:f9b6112278fe | 54 | } |
DieterGraef | 0:f9b6112278fe | 55 | } |