I have another issue with SERIN command. In short, it cannot receive a string longer than 2 bytes on speeds higher then 4800. All bytes after the second one become corrupted (random bytes instead of expected data).
I tried two connection options: first is the serial adapter I described in one of my previous posts (based on 74LS04 inverters) and second is FT232RL. Results are the same.
The code is:
Code:
pause 500
arrTest var byte(4)
mainLoop
serin S_IN, i4800, [str arrTest4]
shiftout p6,p7, msbpre, [arrTest(0), arrTest(1), arrTest(2), arrTest(3)]
goto mainLoop
I use RXTX serial communication Java library to generate serial stream. If I insert 1 ms pauses between individual characters transmission becomes stable and long strings can be transmitted that way.
Another interesting observation is that when I insert INTF = 0 statement at the beginning of the program (right after the array declaration) only one byte can be transmitted reliably, all subsequent ones become scrambled.
Ken, I'm starting to have doubts about your motto on assembly and finishing the project before retirement.

Please, let me know if you need any additional info to reproduce it.
Thank you.