Re: elimination of intercharacter gap in RS232 stream?
- From: Grant Edwards <grante@xxxxxxxx>
- Date: Wed, 10 Oct 2007 19:16:41 -0000
On 2007-10-10, Bo <bo@xxxxxxxxxx> wrote:
Writing an Embbeded Linux app for a PC104/Versalogic board.
Linux 2.6.14.17.
Using write() to transmit data packets to another PC104 board.
If I write() 30 bytes, sometimes there is a 2-5mS gap in the
middle of the transmission, usually at about byte 15-20, but
sometimes at byte 29--as seen on a scope.
It sounds like either your serial driver is broken or you've
got interrupts disabled for a _long_ time. The serial driver
should get an interrupt when the tx fifo is low and have tons
of time to fill it before it underflows.
Tried using low latency setting when opening the port--but
this made no difference. This is causing difficulties for the
receiving end-- and we have yet to add two more serial ports
to the application.
Any ideas on how to force continous transmission of the data?
Fix the serial driver or fix the other driver that's locking
out interrupts for so long. You could try raising the tx fifo
threshold so that the serial driver has more time to respond.
That will increase the tolerance for high interrupt latency,
but it will generate more frequent interrupts and result in
higher overhead.
You could also try fixing the receive end so that a gap between
bytes doesn't make it fall over.
--
Grant Edwards grante Yow! FEELINGS are cascading
at over me!!!
visi.com
.
- Follow-Ups:
- References:
- Prev by Date: PIC controller for a motor (PWM)
- Next by Date: Re: PCB production: China or Taiwan?
- Previous by thread: Re: elimination of intercharacter gap in RS232 stream?
- Next by thread: Re: elimination of intercharacter gap in RS232 stream?
- Index(es):
Relevant Pages
|