skimask,

i appreciate your quick response!

so i corrected the code so that it searches for the carriage return, CR, (ASCII 13) through the 16 character array it receives. I had it displayed every character one-by-one and it seems that it receives "0" (NULL) after the string is done.

for example, i send
serout SerialOut, mode, ["LCD", $FE, 1, "transmit", CR]

and i receive it and search for CR
serin2 SerialIn, mode, [WAIT("LCD"), testHEX, testHEX2, STR testSTR\16\CR]
for i = 0 to 15
LCDOUT $FE, 1, testSTR[i] 'display character in LCD
pause 1000
if testSTR[i] = 13 then 'CR = 13 ascii
last = i
goto proceed
endif
next i
proceed:
for i1 = 0 to last
LCDOUT testSTR[last]
next i1

I send "transmit" and i receive "transmit00000000"
its like it fills the remaining slots of the 16 byte array with zero's. I know there is a simple solution to this i just need someone to help me oversee this. am i passing the variables correctly? am i receiving the variables correctly? should i change the code entirely and start fresh? should i quit this problem and just go out somewhere?

any help is appreciated. thank you