Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

Re: [lpc2000] Re: Who thinks the PC Compatible UARTs on the LPC are nice ?

2005-04-14 by Bill Knight

Yep, I just checked some old docs on the 16550 and sure enough, THRE
is only set when the FIFO is empty - DUMB.  And yep, it sure doesn't
appear TEMT can be used to cause an interrupt - also DUMB.  OK, I'm
ready for a new, improved UART.

One small feature I would like is to have an interrupt generated as
the THRE interrupt is enabled, if the THRE bit is already set.  This
allows characters to be placed into an ouput queue and the THRE
interrupt enabled as a means of both starting a transmission as well
as adding characters to a transmission in progress.  It also allows
the forground process to do it without ever disabling global
interrupts.

-Bill

On Thu, 14 Apr 2005 17:04:38 -0000, lp2000c wrote:

Yes, you are missing something.

THRE indicates when FIFO is empty - not when it is full.
Furthermore, the exact time when this occurs, depends 
on "initialization conditions".
See paragraph following Table 68 of LPC213x manual (or similar for 
other members of this family).

As far as using TEMT for RS-485 turn-around, that would be great if 
it could be used to generate an interrupt.


--- In lpc2000@yahoogroups.com, "Bill Knight" <BillK@t...> wrote:
> Am I missing something here guys (and gals)?  When the FIFO is
> enabled the THRE bit in the Line Status Register is set whenever
> the FIFO can accept additional characters.  So if it were clear,
> isn't that an indication the FIFO is full?
> As for RS-485 transceiver turn-around; the TEMT bit also in the
> Line Status Register, can be used to determine when the stop bit
> of the last character has been transmitted.  Can't that be used
> to control the RS-485 interface?
> 
> Regards
> -Bill Knight
> R O SoftWare &
> http://www.theARMPatch.com

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.