Datasheet

SPI_Ethernet_doPacket
438
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
Libraries
mikroC PRO for AVR
CHAPTER 6
Description
Note: This routine will change receive filter configuration on-the-fly. It will not, in
any way, mess with enabling/disabling receive/transmit logic or any other part of
the
ENC28J60 module. The ENC28J60 module should be properly cofigured by
the means of SPI_Ethernet_Init routine.
Requires Ethernet module has to be initialized. See SPI_Ethernet_Init.
Example
SPI_Ethernet_Disable(SPI_Ethernet_CRC | SPI_Ethernet_UNICAST); //
disable CRC checking and Unicast traffic
Prototype
unsigned char SPI_Ethernet_doPacket();
Returns
- 0 - upon successful packet processing (zero packets received or received
packet processed successfully).
- 1 - upon reception error or receive buffer corruption. ENC28J60 controller needs
to be restarted.
- 2 - received packet was not sent to us (not our IP, nor IP broadcast address).
- 3 - received IP packet was not IPv4.
- 4 - received packet was of type unknown to the library.
Description
This is MAC module routine. It processes next received packet if such exists.
Packets are processed in the following manner:
- ARP & ICMP requests are replied automatically.
- upon TCP request the SPI_Ethernet_UserTCP function is called for further
processing.
- upon UDP request the SPI_Ethernet_UserUDP function is called for further
processing.
Note:
SPI_Ethernet_doPacket must be called as often as possible in user's
code.
Requires Ethernet module has to be initialized. See SPI_Ethernet_Init.
Example
while(1) {
...
SPI_Ethernet_doPacket(); // process received packets
...
}