User manual

426
mikoPascal PRO for PIC32
MikroElektronika
// set IP address
myIpAddr[0] := 192;
myIpAddr[1] := 168;
myIpAddr[2] := 20;
myIpAddr[3] := 60;
// set gateway address
gwIpAddr[0] := 192;
gwIpAddr[1] := 168;
gwIpAddr[2] := 20;
gwIpAddr[3] := 6;
// set dns address
dnsIpAddr[0] := 192;
dnsIpAddr[1] := 168;
dnsIpAddr[2] := 20;
dnsIpAddr[3] := 1;
// set subnet mask
ipMask[0] := 255;
ipMask[1] := 255;
ipMask[2] := 255;
ipMask[3] := 0;
{*
* starts ENC28J60 with :
* reset bit on PORTC.B0
* CS bit on PORTC.B1
* my MAC & IP address
* full duplex
*}
SPI2_Init_Advanced(_SPI_MASTER, _SPI_8_BIT, 16,
_SPI_SS_DISABLE, _SPI_DATA_SAMPLE_MIDDLE, _SPI_CLK_IDLE_LOW, _SPI_
IDLE_2_ACTIVE);
SPI_Ethernet_Init(myMacAddr, myIpAddr, _SPI_Ethernet_FULLDUPLEX); // init
ethernet module
SPI_Ethernet_setUserHandlers(@SPI_Ethernet_UserTCP, @SPI_Ethernet_UserUDP); // set
user handlers
// dhcp will not be used here, so use preconî‚¿gured addresses
SPI_Ethernet_confNetwork(ipMask, gwIpAddr, dnsIpAddr);
while true do // do forever
begin
SPI_Ethernet_doPacket(); // process incoming Ethernet packets
{*
* add your stuff here if needed
* SPI_Ethernet_doPacket() must be called as often as possible
* otherwise packets could be lost
*}
end;
end.