Skip to content
Juraj Andrassy edited this page Aug 31, 2020 · 10 revisions

EthernetENC is the Ethernet library for Microchip's ENC28J60 network controller. The documentation of Arduino Ethernet library applies for class and functions descriptions.

EthernetENC is a modern version of the UIPEthernet library. The modernization includes:

  • support of many Arduino architectures by using the architecture specific Arduino SPI library
  • SPI transactions to share the SPI bus with devices with different communication settings
  • heavy buffering of sent TCP data in ENC memory with flush() function to send the last buffer
  • functions added for Ethernet 2.0 API
    • Ethernet.init() to set the CS pin
    • Ethernt.hardwareStatus() and linkStatus()
    • EthernetServer.accept()

EthernetENC is larger then the Arduino Ethernet library, because it must handle the TCP stack (Wiznet chips have the TCP stack in firmware). It takes more flash and more dynamic memory, but it still can be used on Uno/Nano and Leonardo/Micro. If UDP, DHCP and DNS are not required there is a setting which makes the library smaller. There are some other settings to set the balance between performance and memory consumption.

Clone this wiki locally