Forums

UART1 problems

Started by Zakaria Nakrachi February 12, 2009
Hi All,
I'm trying to read from UART1 and write the output to the UART0.
I'm able to write to UART0 but when I try to write the content of
U1RBR I'mgetting 0x0 !
using my logic analyser I can see that there is data in the RXD1 pin ,
but neither the ISR
handler or reading roughly from the U1RBR works.
here is my setting code :

PINSEL0 = 0x00000001 // enable RxD1

ULCR = 0x83;
Fdiv = (Fpclk / 16) / baudrate
U1DLM= Fdiv / 256
U1DLL = Fdiv % 250
U1LCR = 0x03
U1FCR = 0x07

U1IER=1

-----
Reading :

while(U1LSR & 0x01)
return U1RBR
I'm using the same config for the UART0 and it works.

I think I'm missing some thing in the UART1 setup !

Please any Idea

Z.Nakrachi

An Engineer's Guide to the LPC2100 Series

Well I finally found the problem, the Olimex board uses RXD1 and TXD1 on ports P2[0]
and P[1] respectively. this was not mentioned in the datasheet (olimex), so the PINSEL4
must be set to 0x0000000A in order to use the UART1 over the UEXT.
So I just want to recall (if someone is experiencing the same problem) to double check the
board schematics before configuring pins !!

mia culpa =)

hope it helps

Z. Nakrachi

--- In l..., Zakaria Nakrachi wrote:
> Hi All,
> I'm trying to read from UART1 and write the output to the UART0.
> I'm able to write to UART0 but when I try to write the content of
> U1RBR I'm> getting 0x0 !
> using my logic analyser I can see that there is data in the RXD1 pin ,
> but > neither the ISR
> handler or reading roughly from the U1RBR works.
> here is my setting code :
>
> PINSEL0 = 0x00000001 // enable RxD1
>
> ULCR = 0x83;
> Fdiv = (Fpclk / 16) / baudrate
> U1DLM= Fdiv / 256
> U1DLL = Fdiv % 250
> U1LCR = 0x03
> U1FCR = 0x07
>
> U1IER=1
>
> -----
> Reading :
>
> while(U1LSR & 0x01)
> return U1RBR
> I'm using the same config for the UART0 and it works.
>
> I think I'm missing some thing in the UART1 setup !
>
> Please any Idea
>
> Z.Nakrachi
>