This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

LPC2119 receiver stop bits settings

I use LPC2119, and Keil uVision4.

My question is, if UART module is set to 2 stop bits,
Transmitter must send these two stop bits always, but does receiver must receive two stop bits
before set flag for received character.

For example in AVR core , it is written that only transmitter is set for number of stop bits ( 1,2 ). Receiver uses only one stop bit despite of setting of the transmitter.

How it works here on lpc2119.
All my test show that full stop bits number, must be received before Receiver to set flag for new character.

Parents
  • Thank you, Per Westermark, for the answer.
    I found similar thread , where this UART behavior is called a bug in arm7 uart.
    comments.gmane.org/.../2107

    So, my interrupt driven uart, missing a byte, when other side start transmitting earlier than 2 stop bits,after last transmitted byte from my side.

    My hardware is connect in a way, that I can hear my own transmission.
    So when I transmit byte , I expect to receive it. That is OK.
    But when other side start transmitting , before second stop bit( after first, but before second), I cannot hear my transmitted byte. It disappeared, and I hear only byte from the other side.
    That is because UART receiver resync, and start to receive other side byte, but what happened with my own echo, that is not specified. No frame error is generated, and no received byte interrupt is generated ( no RLS or RDA interrupt ).
    I know that UART module is a legacy 16C550 uart. I search the net, and I found unofficially, that this type of uarts, also expect only one stop bit in the receiver side.If this is true, than lpc2119 must work properly in that situation, but it not happens.
    In the lpc21xx datasheet is not specified receiver behavior concerning stop bits.

    AVR was only for example,that in datasheet is described how UART module works.

Reply
  • Thank you, Per Westermark, for the answer.
    I found similar thread , where this UART behavior is called a bug in arm7 uart.
    comments.gmane.org/.../2107

    So, my interrupt driven uart, missing a byte, when other side start transmitting earlier than 2 stop bits,after last transmitted byte from my side.

    My hardware is connect in a way, that I can hear my own transmission.
    So when I transmit byte , I expect to receive it. That is OK.
    But when other side start transmitting , before second stop bit( after first, but before second), I cannot hear my transmitted byte. It disappeared, and I hear only byte from the other side.
    That is because UART receiver resync, and start to receive other side byte, but what happened with my own echo, that is not specified. No frame error is generated, and no received byte interrupt is generated ( no RLS or RDA interrupt ).
    I know that UART module is a legacy 16C550 uart. I search the net, and I found unofficially, that this type of uarts, also expect only one stop bit in the receiver side.If this is true, than lpc2119 must work properly in that situation, but it not happens.
    In the lpc21xx datasheet is not specified receiver behavior concerning stop bits.

    AVR was only for example,that in datasheet is described how UART module works.

Children
No data