User manual

mikroBasic PRO for dsPIC30/33 and PIC24
MikroElektronika
477
- SPI_Ethernet_dnsResolve
- SPI_Ethernet_initDHCP
- SPI_Ethernet_doDHCPLeaseTime
- SPI_Ethernet_renewDHCP
SPI_Ethernet_Init
Prototype
sub procedure SPI_Ethernet_Init(dim mac as ^byte, dim ip as ^byte, dim
fullDuplex as byte)
Description This is MAC module routine. It initializes ENC28J60 controller. This function is internaly splited into 2
parts to help linker when coming short of memory.
ENC28J60 controller settings (parameters not mentioned here are set to default):
- receive buffer start address : 0x0000.
- receive buffer end address : 0x19AD.
- transmit buffer start address: 0x19AE.
- transmit buffer end address : 0x1FFF.
- RAM buffer read/write pointers in auto-increment mode.
- receive lters set to default: CRC + MAC Unicast + MAC Broadcast in OR mode.
- ow control with TX and RX pause frames in full duplex mode.
- frames are padded to 60 bytes + CRC.
- maximum packet size is set to 1518.
- Back-to-Back Inter-Packet Gap: 0x15 in full duplex mode; 0x12 in half duplex mode.
- Non-Back-to-Back Inter-Packet Gap: 0x0012 in full duplex mode; 0x0C12 in half duplex mode.
- Collision window is set to 63 in half duplex mode to accomodate some ENC28J60 revisions silicon bugs.
- CLKOUT output is disabled to reduce EMI generation.
- half duplex loopback disabled.
- LED conguration: default (LEDA-link status, LEDB-link activity).
Parameters - mac: RAM buffer containing valid MAC address.
- ip: RAM buffer containing valid IP address.
- fullDuplex: ethernet duplex mode switch. Valid values: 0 (half duplex mode) and 1 (full duplex
mode).
Returns Received data.
Requires Global variables:
- SPI_Ethernet_CS: Chip Select line
- SPI_Ethernet_CS_Direction: Direction of the Chip Select pin
- SPI_Ethernet_RST: Reset line
- SPI_Ethernet_RST_Direction: Direction of the Reset pin
must be dened before using this function.
The SPI module needs to be initialized. See the SPIx_Init and SPIx_Init_Advanced routines.