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
Message
Re: [lpc2000] Re: Who thinks the PC Compatible UARTs on the LPC are nice ?
2005-04-14 by Bill Knight
Attachments
- No local attachments were found for this message.