Zoltan Hudak / ENC28J60-EMAC

Dependents:   MQTT_Hello MQTT_HelloENC28J60

Homepage

Table of Contents

    EMAC driver for the ENC28J60 Ethernet controller

    https://os.mbed.com/media/uploads/hudakz/enc28j60_module01.jpg

    This is a fork (the INT and RST pins are not used) of the ENC28J60-EMAC driver published by Tobias Jaster at

    https://github.com/tobiasjaster/ENC28J60-EMAC-Driver

    Usage:

    • Connect the ENC28J60 module to the Mbed board as follows:

    https://os.mbed.com/media/uploads/hudakz/enc28j60-emac.png

    • Import (add) this ENC28J60-EMAC library to your program.
    • Add a "mbed_app.json" file with the following content to the root directory of your program:

        {
            "target_overrides": {
                "*": {
                    "platform.callback-nontrivial": true,
                    "enc28j60-emac.mosi":  "D11",
                    "enc28j60-emac.miso":  "D12",
                    "enc28j60-emac.sck" :  "D13",
                    "enc28j60-emac.cs"  :  "D10"
                }
            }
        }
    
    • Replace "D11", ..., "D10" with the actual pin names you selected on the Mbed board to be used for the SPI communication.
    • To set the MAC address define an array with the desired address bytes and call the "set_hwaddr(mac)" function before calling the network interface "connect" function.

    For example:

        const uint8_t       MAC[6] = { 0, 1, 2, 3, 4, 5 };
        EthernetInterface   net;
     
        int main()
        {
            net.get_emac().set_hwaddr(MAC);             // set MAC address
            if (net.connect() != 0) {
                printf("Error: Unable to connect to the network.\n");
                return -1;
            }
         ...
    

    All wikipages