AnsweredAssumed Answered

Serial Port Error 701, possible bug in UART initialisation

Question asked by Joern on Jul 26, 2011

I have a UART problem. I try to read bytes from a flash device, I expect an array of 200 bytes and read "binary bytes array size 200". But the communication stops with the error 701 because a byte 0x0A is read. No matter to what I set the readTerm in the instrument manager.

I made further investigation on the serial port problem and I at least found the problem not exactly knowing why this happens.
So I see it as a bug in VEE when a UART gets started and hope someone from Agilent could help.

In the attachment you see two screenshots of the IO Monitor.

The UART_Init1 pic belongs to the state, when I start VEE and start the first communication to a serial port. The port settings are made (iserialctrl method calls) and one of the methods calls (the marked one) is the request 10 (I_SERIAL_READ_EOI = 10, I_SERIAL_EOI_NONE = &H200, dez. 512) this sets the Read_EOI to none. This is what I need when I want to read, an array of binary bytes.

But if I do an "Execute Close" of the serial port during the programm and start again to communicate with the serial port, the initialisation looks like the UART_Init2 pic, without the" READ_EOI char" method (but this has been reseted to default \n after I made the "Execute close").
So further communication will be terminated if a "\n" is read.

The same things happens when I use multiple serial ports, the first port which is used/initialised gets the "full" init and all other serial ports get the "small" init.

So in short, if I have only one serial port to read arrays of binary data and initialise it first and never "execute close" the port, then I can work with it. In all other cases I will sooner or later be confronted with a terminated communication because I read the Byte #0A (\n).

Could somebody from agilent please check this whether it's a bug or I am missing something.