Download mikroBasic PRO for AVR User Manual v100

Transcript
CHAPTER 6
mikroBasic PRO for AVR
Libraries
if(memcmp (@getRequest, @tmp, 5) <> 0) then
supported here
result = 0
exit
end if
httpCounter = httpCounter + 1
' only GET method is
' one more request done
if(getRequest[5] = "s") then
' 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_ = len_ + putConstString(@httpMimeTypeScript)
' with text
MIME type
' add PORTC value (buttons) to reply
len_ = len_ + putString("var PINC= ")
WordToStr(PINC, dyna)
len_ = len_ + putString(dyna)
len_ = len_ + putString(";")
' add PORTD value (LEDs) to reply
len_ = len_ + putString("var PORTD= ")
WordToStr(PORTD, dyna)
len_ = len_ + putString(dyna)
len_ = len_ + putString(";")
' add HTTP requests counter to reply
WordToStr(httpCounter, dyna)
len_ = len_ + putString("var REQ=
")
len_ = len_ + putString(dyna)
len_ = len_ + putString(";")
else
if(getRequest[5] = "t") then
' if request path
name starts with t, toggle PORTD (LED) bit number that comes after
bitMask = 0
if(isdigit(getRequest[6]) <> 0) then
' if 0 <=
bit number <= 9, bits 8 & 9 does not exist but does not matter
bitMask = getRequest[6] - "0"
' convert ASCII
to integer
bitMask = 1 << bitMask
' create bit mask
PORTD
= PORTD xor bitMask
' toggle PORTD
with xor operator
end if
end if
end if
386
MIKROELEKTRONIKA - SOFTWARE AND HARDWARE SOLUTIONS FOR EMBEDDED WORLD