Datasheet
unsigned int SPI_Ethernet_UserTCP(unsigned char *remoteHost,
unsigned int remotePort, unsigned int localPort, unsigned int
reqLength)
{
unsigned int len; // my reply length
if(localPort != 80) // I listen only to web
request on port 80
{
return(0) ;
}
// get 10 first bytes only of the request, the rest does not
matter here
for(len = 0 ; len < 10 ; len++)
{
getRequest[len] = SPI_Ethernet_getByte() ;
}
getRequest[len] = 0 ;
len = 0;
if(memcmp(getRequest, httpMethod, 5)) // only GET
method is supported here
{
return(0) ;
}
httpCounter++ ; // one more
request done
if(getRequest[5] == 's') // if request
path name starts with s, store dynamic data in transmit buffer
{
// the text string replied by this request can be
interpreted as javascript statements
// by browsers
len = putConstString(httpHeader) ; //
HTTP header
len += putConstString(httpMimeTypeScript) ; //
with text MIME type
// add PORTC value (buttons) to reply
len += putConstString("var PINC=") ;
WordToStr(PINC, dyna) ;
len += putString(dyna) ;
len += putConstString(";") ;
// add PORTD value (LEDs) to reply
len += putConstString("var PORTD=") ;
WordToStr(PORTD, dyna) ;
len += putString(dyna) ;
len += putConstString(";") ;
448
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD
Libraries
mikroC PRO for AVR
CHAPTER 6