I have isolated the problem from my application by comparing results of VISA communication with results of Hyperterminal.
I have two computers that behave differently. One runs Win2K, the other runs Win98. Both are running VISA 3.0.1. Both are communicating through NI-PCMCIA-485 port in 2-wire txrdy mode.
To recreate the problem, I connected the two serial ports together, then send messages back and forth, sometimes using MAX and VISA, and sometimes using Hyperterminal.
I find that messages sent with Hyperterminal from either machine are correctly received by either Hyperterminal or MAX/VISA on either machine. Also, messages sent with MAX/VISA on the Win2k machine are correctly received by either Hyperterminal or MAX/VIS
A on the Win98 machine.
However, messages sent with MAX/VISA from the Win98 machine are not correctly received by either software on the Win2k machine. My conclusion is that VISA WRITE under Win98 is corrupting the data.
Specifically, the final transmitted character is changed. For example, data string d01tpos\r is changed to d01tpos\xFF. If I double-up the string, d01tpos\rd01tpos\r becomes d01tpos\rd01tpos\xFF. So it is not the carriage return character specifically causing the problem.
It is not always the final character, either. At one point I sent "Hello VISA MAX." but received "Hello#VISAOax\xff"
I would appreciate some help with this problem. I have a Labview 6.1 application that I developed on a Win2k machine that works fine, but I wish to deploy it to a Win98 machine and it does not work because the strings are not being properly transmitted.
Thanks.
Jim B.