SSP: How to clear transmit FIFO
2005-04-14 by Gerhard Unrecht
Yahoo Groups archive
Index last updated: 2026-04-28 23:31 UTC
Thread
2005-04-14 by Gerhard Unrecht
Hey, I want to clear the transmit-Fifo, to have a defined state. Knows anybody how to do do this? Regards Gerhard Unrecht [Non-text portions of this message have been removed]
2005-04-14 by Ken Wada
There are two ways to do this: 1. Disable the FIFO enable bit on the FIFO control register 2. Set the Tx FIFO reset bit ont the FIFO control register Ken Wada --- In lpc2000@yahoogroups.com, Gerhard Unrecht <unrecht@p...> wrote:
> Hey, > > I want to clear the transmit-Fifo, to have a defined state. > Knows anybody how to do do this? > > Regards > > Gerhard Unrecht > > > [Non-text portions of this message have been removed]
2005-04-14 by lp2000c
Beware the fine print that FIFO enable bit must be set for proper operation of the UART! --- In lpc2000@yahoogroups.com, "Ken Wada" <kwada@a...> wrote: > > There are two ways to do this: > 1. Disable the FIFO enable bit on the FIFO control register > 2. Set the Tx FIFO reset bit ont the FIFO control register > > Ken Wada > > --- In lpc2000@yahoogroups.com, Gerhard Unrecht <unrecht@p...> wrote:
> > Hey, > > > > I want to clear the transmit-Fifo, to have a defined state. > > Knows anybody how to do do this? > > > > Regards > > > > Gerhard Unrecht > > > > > > [Non-text portions of this message have been removed]
2005-04-14 by Ken Wada
I noticed the comment on 'proper UART' operation also. I have used both the 16c550 and the 16c450 for many years. My recollection is that the FIFO enable bit was supposed to change the mode to 16c450 'FIFO-less' operation when disabled; and change the mode to true 16c550 mode when enabled. In fact, the National Semiconductor datasheet on the 16c550 says the following: Bit 0: Writing a 1 to FCR0 enables both the XMIT and RCVR FIFOs. Resetting FCR0 will clear all bytes in both FIFOs. When changing from the FIFO Mode to the 16450 Mode and vice versa, data is automatically cleared from the FIFOs. This bit must be a 1 when other FCR bits are written to or they will not be programmed. It was my understanding, according to the LPC2xxx user's manual, and datasheet that, (other than not supporting the DMA operation), that these UARTS are supposed to be 16c550 clones. Ken Wada --- In lpc2000@yahoogroups.com, "lp2000c" <lp2000c@e...> wrote:
> > Beware the fine print that FIFO enable bit must be set for proper > operation of the UART! > > > --- In lpc2000@yahoogroups.com, "Ken Wada" <kwada@a...> wrote: > > > > There are two ways to do this: > > 1. Disable the FIFO enable bit on the FIFO control register > > 2. Set the Tx FIFO reset bit ont the FIFO control register > > > > Ken Wada > > > > --- In lpc2000@yahoogroups.com, Gerhard Unrecht <unrecht@p...> > wrote: > > > Hey, > > > > > > I want to clear the transmit-Fifo, to have a defined state. > > > Knows anybody how to do do this? > > > > > > Regards > > > > > > Gerhard Unrecht > > > > > > > > > [Non-text portions of this message have been removed]
2005-04-15 by gerhard_unrecht
Thank you Ben, I'm sorry, but it's about the SSP (SPI1) not the UART. I found no CLR or ENABLE-Bit ! Regard Gerhard Unrecht --- In lpc2000@yahoogroups.com, "Ken Wada" <kwada@a...> wrote: > > I noticed the comment on 'proper UART' operation also. > > I have used both the 16c550 and the 16c450 for many years. My > recollection is that the FIFO enable bit was supposed to change the > mode to 16c450 'FIFO-less' operation when disabled; and change the > mode to true 16c550 mode when enabled. > > In fact, the National Semiconductor datasheet on the 16c550 says the > following: > > Bit 0: Writing a 1 to FCR0 enables both the XMIT and RCVR > FIFOs. Resetting FCR0 will clear all bytes in both FIFOs. When > changing from the FIFO Mode to the 16450 Mode and vice versa, data is > automatically cleared from the FIFOs. This bit must be a 1 when other > FCR bits are written to or they will not be programmed. > > It was my understanding, according to the LPC2xxx user's manual, and > datasheet that, (other than not supporting the DMA operation), that > these UARTS are supposed to be 16c550 clones. > > Ken Wada > > --- In lpc2000@yahoogroups.com, "lp2000c" <lp2000c@e...> wrote: > > > > Beware the fine print that FIFO enable bit must be set for proper
> > operation of the UART! > > > > > > --- In lpc2000@yahoogroups.com, "Ken Wada" <kwada@a...> wrote: > > > > > > There are two ways to do this: > > > 1. Disable the FIFO enable bit on the FIFO control register > > > 2. Set the Tx FIFO reset bit ont the FIFO control register > > > > > > Ken Wada > > > > > > --- In lpc2000@yahoogroups.com, Gerhard Unrecht <unrecht@p...> > > wrote: > > > > Hey, > > > > > > > > I want to clear the transmit-Fifo, to have a defined state. > > > > Knows anybody how to do do this? > > > > > > > > Regards > > > > > > > > Gerhard Unrecht > > > > > > > > > > > > [Non-text portions of this message have been removed]
2005-04-15 by Ken Wada
The SPI does not have a FIFO. The SPI device is basically a shift register. There really is no need for an enable or clear on the SPI interface. Ken Wada --- In lpc2000@yahoogroups.com, "gerhard_unrecht" <unrecht@p...> wrote:
> > Thank you Ben, > I'm sorry, but it's about the SSP (SPI1) not the UART. > I found no CLR or ENABLE-Bit ! > Regard > Gerhard Unrecht > > --- In lpc2000@yahoogroups.com, "Ken Wada" <kwada@a...> wrote: > > > > I noticed the comment on 'proper UART' operation also. > > > > I have used both the 16c550 and the 16c450 for many years. My > > recollection is that the FIFO enable bit was supposed to change > the > > mode to 16c450 'FIFO-less' operation when disabled; and change the > > mode to true 16c550 mode when enabled. > > > > In fact, the National Semiconductor datasheet on the 16c550 says > the > > following: > > > > Bit 0: Writing a 1 to FCR0 enables both the XMIT and RCVR > > FIFOs. Resetting FCR0 will clear all bytes in both FIFOs. When > > changing from the FIFO Mode to the 16450 Mode and vice versa, data > is > > automatically cleared from the FIFOs. This bit must be a 1 when > other > > FCR bits are written to or they will not be programmed. > > > > It was my understanding, according to the LPC2xxx user's manual, > and > > datasheet that, (other than not supporting the DMA operation), > that > > these UARTS are supposed to be 16c550 clones. > > > > Ken Wada > > > > --- In lpc2000@yahoogroups.com, "lp2000c" <lp2000c@e...> wrote: > > > > > > Beware the fine print that FIFO enable bit must be set for > proper > > > operation of the UART! > > > > > > > > > --- In lpc2000@yahoogroups.com, "Ken Wada" <kwada@a...> wrote: > > > > > > > > There are two ways to do this: > > > > 1. Disable the FIFO enable bit on the FIFO control register > > > > 2. Set the Tx FIFO reset bit ont the FIFO control register > > > > > > > > Ken Wada > > > > > > > > --- In lpc2000@yahoogroups.com, Gerhard Unrecht <unrecht@p...> > > > wrote: > > > > > Hey, > > > > > > > > > > I want to clear the transmit-Fifo, to have a defined state. > > > > > Knows anybody how to do do this? > > > > > > > > > > Regards > > > > > > > > > > Gerhard Unrecht > > > > > > > > > > > > > > > [Non-text portions of this message have been removed]
2005-04-15 by lp2000c
My understanding is that this was Philips' original plan. However, they they discovered a bug in the operation when the FIFO is disabled, so they just added that note saying: Don't do it! --- In lpc2000@yahoogroups.com, "Ken Wada" <kwada@a...> wrote: > > I noticed the comment on 'proper UART' operation also. > > I have used both the 16c550 and the 16c450 for many years. My > recollection is that the FIFO enable bit was supposed to change the > mode to 16c450 'FIFO-less' operation when disabled; and change the > mode to true 16c550 mode when enabled. > > In fact, the National Semiconductor datasheet on the 16c550 says the > following: > > Bit 0: Writing a 1 to FCR0 enables both the XMIT and RCVR > FIFOs. Resetting FCR0 will clear all bytes in both FIFOs. When > changing from the FIFO Mode to the 16450 Mode and vice versa, data is > automatically cleared from the FIFOs. This bit must be a 1 when other > FCR bits are written to or they will not be programmed. > > It was my understanding, according to the LPC2xxx user's manual, and
> datasheet that, (other than not supporting the DMA operation), that > these UARTS are supposed to be 16c550 clones. > > Ken Wada > > --- In lpc2000@yahoogroups.com, "lp2000c" <lp2000c@e...> wrote: > > > > Beware the fine print that FIFO enable bit must be set for proper > > operation of the UART! > > > > > > --- In lpc2000@yahoogroups.com, "Ken Wada" <kwada@a...> wrote: > > > > > > There are two ways to do this: > > > 1. Disable the FIFO enable bit on the FIFO control register > > > 2. Set the Tx FIFO reset bit ont the FIFO control register > > > > > > Ken Wada > > > > > > --- In lpc2000@yahoogroups.com, Gerhard Unrecht <unrecht@p...> > > wrote: > > > > Hey, > > > > > > > > I want to clear the transmit-Fifo, to have a defined state. > > > > Knows anybody how to do do this? > > > > > > > > Regards > > > > > > > > Gerhard Unrecht > > > > > > > > > > > > [Non-text portions of this message have been removed]
2005-04-15 by Ken Wada
say.... Have you tried this? If so, what happens? Does the UART lockup or something like that? It did not occur to me to try something like this. I suppose something bad probably will happen. Ken Wada --- In lpc2000@yahoogroups.com, "lp2000c" <lp2000c@e...> wrote: > > My understanding is that this was Philips' original plan. However, > they they discovered a bug in the operation when the FIFO is > disabled, so they just added that note saying: Don't do it! > > > > --- In lpc2000@yahoogroups.com, "Ken Wada" <kwada@a...> wrote: > > > > I noticed the comment on 'proper UART' operation also. > > > > I have used both the 16c550 and the 16c450 for many years. My > > recollection is that the FIFO enable bit was supposed to change the > > mode to 16c450 'FIFO-less' operation when disabled; and change the > > mode to true 16c550 mode when enabled. > > > > In fact, the National Semiconductor datasheet on the 16c550 says > the > > following: > > > > Bit 0: Writing a 1 to FCR0 enables both the XMIT and RCVR > > FIFOs. Resetting FCR0 will clear all bytes in both FIFOs. When > > changing from the FIFO Mode to the 16450 Mode and vice versa, data > is > > automatically cleared from the FIFOs. This bit must be a 1 when > other > > FCR bits are written to or they will not be programmed. > > > > It was my understanding, according to the LPC2xxx user's manual, > and > > datasheet that, (other than not supporting the DMA operation), that > > these UARTS are supposed to be 16c550 clones. > > > > Ken Wada > > > > --- In lpc2000@yahoogroups.com, "lp2000c" <lp2000c@e...> wrote: > > > > > > Beware the fine print that FIFO enable bit must be set for proper
> > > operation of the UART! > > > > > > > > > --- In lpc2000@yahoogroups.com, "Ken Wada" <kwada@a...> wrote: > > > > > > > > There are two ways to do this: > > > > 1. Disable the FIFO enable bit on the FIFO control register > > > > 2. Set the Tx FIFO reset bit ont the FIFO control register > > > > > > > > Ken Wada > > > > > > > > --- In lpc2000@yahoogroups.com, Gerhard Unrecht <unrecht@p...> > > > wrote: > > > > > Hey, > > > > > > > > > > I want to clear the transmit-Fifo, to have a defined state. > > > > > Knows anybody how to do do this? > > > > > > > > > > Regards > > > > > > > > > > Gerhard Unrecht > > > > > > > > > > > > > > > [Non-text portions of this message have been removed]
2005-04-18 by lp2000c
I have not tried this. If the Data Book says don't do it - I listen. I would rather not find out what problem it causes after shipping 5000 units to customers. --- In lpc2000@yahoogroups.com, "Ken Wada" <kwada@a...> wrote: > > say.... > Have you tried this? If so, what happens? Does the UART lockup or > something like that? > > It did not occur to me to try something like this. > > I suppose something bad probably will happen. > > Ken Wada > > --- In lpc2000@yahoogroups.com, "lp2000c" <lp2000c@e...> wrote: > > > > My understanding is that this was Philips' original plan. However, > > they they discovered a bug in the operation when the FIFO is > > disabled, so they just added that note saying: Don't do it! > > > > > > > > --- In lpc2000@yahoogroups.com, "Ken Wada" <kwada@a...> wrote: > > > > > > I noticed the comment on 'proper UART' operation also. > > > > > > I have used both the 16c550 and the 16c450 for many years. My > > > recollection is that the FIFO enable bit was supposed to change > the > > > mode to 16c450 'FIFO-less' operation when disabled; and change the > > > mode to true 16c550 mode when enabled. > > > > > > In fact, the National Semiconductor datasheet on the 16c550 says > > the > > > following: > > > > > > Bit 0: Writing a 1 to FCR0 enables both the XMIT and RCVR > > > FIFOs. Resetting FCR0 will clear all bytes in both FIFOs. When > > > changing from the FIFO Mode to the 16450 Mode and vice versa, data > > is > > > automatically cleared from the FIFOs. This bit must be a 1 when > > other > > > FCR bits are written to or they will not be programmed. > > > > > > It was my understanding, according to the LPC2xxx user's manual,
> > and > > > datasheet that, (other than not supporting the DMA operation), > that > > > these UARTS are supposed to be 16c550 clones. > > > > > > Ken Wada > > > > > > --- In lpc2000@yahoogroups.com, "lp2000c" <lp2000c@e...> wrote: > > > > > > > > Beware the fine print that FIFO enable bit must be set for > proper > > > > operation of the UART!