Odd problem with /tyCo/2 and /tyCo/3 transmit buffer - vxWorks 5.5
I have run into an issue with serial ports (COM3 and COM4) on an Ampro
ReadyBoard 620. Our application uses non-standard IRQs for the serial
ports and I believe that I have those issues sorted out as well as
increasing the number of serial port devices from 2 to 4.
The problem is that I can only do one successful write operation to
COM3 (or COM4). Subsequent writes to those ports return a success
status until the transmit buffer fills up. If I issue a sysOutByte()
call to COM3, the transmit buffer empties but then goes back into a
state where it simply buffers the data written to it. No combination
of ioctl() calls seem to make any difference. It looks like once an
initial write is done to COM3 (or COM4), the serial port driver in
vxWorks 5.5 does not properly detect that the UART transmit buffer is
empty and it just keeps queuing up data to be sent.
This is only an issue with /tyCo/2 and /tyCo/3. The first two serial
ports seem to behave correctly.
Is anyone aware of issues with vxWorks 5.5 and handling more than two
serial ports?
Re: Odd problem with /tyCo/2 and /tyCo/3 transmit buffer - vxWorks5.5
If you are using sysoutbyte() API, It doesn't call any driver function
provided by vxWorks.
In this way, you should check the linear register or some others to
detect whethter the transmit buffer is empty.
If you want to use driver function provided by vxWorks, you should use
write API function.
However, it is interrupt driven which is not fitable to your
applicaion.
On Jul 9, 3:12*am, johnha...@go.com wrote:[color=blue]
> I have run into an issue with serial ports (COM3 and COM4) on an Ampro
> ReadyBoard 620. Our application uses non-standard IRQs for the serial
> ports and I believe that I have those issues sorted out as well as
> increasing the number of serial port devices from 2 to 4.
>
> The problem is that I can only do one successful write operation to
> COM3 (or COM4). Subsequent writes to those ports return a success
> status until the transmit buffer fills up. If I issue a sysOutByte()
> call to COM3, the transmit buffer empties but then goes back into a
> state where it simply buffers the data written to it. No combination
> of ioctl() calls seem to make any difference. It looks like once an
> initial write is done to COM3 (or COM4), the serial port driver in
> vxWorks 5.5 does not properly detect that the UART transmit buffer is
> empty and it just keeps queuing up data to be sent.
>
> This is only an issue with /tyCo/2 and /tyCo/3. The first two serial
> ports seem to behave correctly.
>
> Is anyone aware of issues with vxWorks 5.5 and handling more than two
> serial ports?[/color]