help passing arrays to modules
Chip Cox
Posts: 73
It's always the easy things that give me problems.
I'm trying to pass an byte array of integers to a module
output looks like this
first dec array print
192.168.2.237
no @ no byte no [0] : 192.103809041.166594724.0
yes @ no byte no [0] : 1584.103809041.166594724.0
no @ yes byte no [0] : 192.103809041.166594724.0
no @ no byte yes [0] : 192.103809041.166594724.0
no @ no byte yes [0] : 1584.103809041.166594724.0
no @ yes byte yes [0] : 192.103809041.166594724.0
two @ no byte no [0] : 208.103809041.166594724.0
I tried passing it by reference every way I could think of. Now I have a headache.
I'm trying to pass an byte array of integers to a module
CON _clkmode = xtal1 + pll16x _xinfreq = 5_000_000 OBJ debug : "Parallax Serial Terminal" DAT VAR byte decarray[4] pub main debug.start(115200) waitcnt((clkfreq*4)+cnt) debug.home debug.clear decarray[0]:=192 decarray[1]:=168 decarray[2]:=2 decarray[3]:=237 debug.str(string("first dec array print",13)) debug.dec(decarray[0]) debug.str(string(".")) debug.dec(decarray[1]) debug.str(string(".")) debug.dec(decarray[2]) debug.str(string(".")) debug.dec(decarray[3]) debug.str(string(13)) TestIt(string("no @ no byte no [0] : "),decarray) TestIt(string("yes @ no byte no [0] : "),@decarray) TestIt(string("no @ yes byte no [0] : "),@byte[decarray]) TestIt(string("no @ no byte yes [0] : "),decarray[0]) TestIt(string("no @ no byte yes [0] : "),@decarray[0]) TestIt(string("no @ yes byte yes [0] : "),@byte[decarray][0]) TestIt(string("two @ no byte no [0] : "),@@decarray) pub TestIt(descr,testarray) debug.str(descr) debug.dec(testarray[0]) debug.str(string(".")) debug.dec(testarray[1]) debug.str(string(".")) debug.dec(testarray[2]) debug.str(string(".")) debug.dec(testarray[3]) debug.str(string(13))
output looks like this
first dec array print
192.168.2.237
no @ no byte no [0] : 192.103809041.166594724.0
yes @ no byte no [0] : 1584.103809041.166594724.0
no @ yes byte no [0] : 192.103809041.166594724.0
no @ no byte yes [0] : 192.103809041.166594724.0
no @ no byte yes [0] : 1584.103809041.166594724.0
no @ yes byte yes [0] : 192.103809041.166594724.0
two @ no byte no [0] : 208.103809041.166594724.0
I tried passing it by reference every way I could think of. Now I have a headache.
Comments
I could have sworn I tried that at one point or another. Guess I was looking at it for to long <grin>.
FYI, when you're only sending one character to the terminal you can use the char method.
debug.char(".")
You can also use the ASCII number for the character. This is equivalent to the above statement.
debug.char(46)
Less typing and the program would run a little faster (I doubt it would be noticeable).
Another FYI while I'm on the topic. The char method goes by a variety of names depending on the serial object. FullDuplexSerial uses "tx." There's others that use "out."
Happy Spinning.
Duane