You are viewing an older revision! See the latest version
Ethernet
Hardware¶
First of all you have to connect your mbed to a RJ45 jack. These instructions can be found here : Ethernet RJ45.
Packages¶
Precompiled version: http://mbed.org/users/donatien/programs/EthernetNetIf
Library¶
Getting started¶
This is essentially a tri-liner:
First include the header file:
#include "EthernetNetIf.h"
Instantiate the interface: If you are using DHCP:
EthernetNetIf eth;
Or if you want to set your own parameters:
EthernetNetIf eth( IpAddr(192,168,0,101), //IP Address IpAddr(255,255,255,0), //Network Mask IpAddr(192,168,0,1), //Gateway IpAddr(192,168,0,1) //DNS );
And set it up:
eth.setup();
That's it!
Includes¶
#include "EthernetNetIf.h"
Reference¶
EthernetNetIf()
Instantiate the Interface and register it against the stack. DHCP will be used.
EthernetNetIf(IpAddr ip, IpAddr netmask, IpAddr gateway, IpAddr dns)
Instantiate the Interface & register it against the stack. DHCP will not be used. IpAddr is a container class that can be constructed with either 4 bytes or no parameters for a null IP address.
EthernetErr setup(int timeout_ms = 15000)
Bring the interface up. Returns ETH_OK on success or ETH_TIMEOUT on timeout. You can set the timeout parameter in milliseconds. If not it defaults to 15 s.
IpAddr getIp() const
Return the IP of the interface once it's connected.
Result codes¶
enum EthernetErr
{
__ETH_MIN = -0xFFFF,
ETH_TIMEOUT, //Timeout during setup
ETH_OK = 0
};
Implementation¶
This interface is built around the mbed's Ethernet class and the LwIP stack. For more information about LwIP, you can visit the project's development site or its Wiki.