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

uart 3 not receiving

i wrote a code for uart3 but the data was not receiving ,i checked all pheripherals like power control and pinsel regsistery and baudrate too, here i posted my code please do the needfull as soon as possible.

#include <LPC23xx.H>

unsigned int data;

/********************************INTI UART0**********************************************/
void Init_Uart0(void)
{ PINSEL0 |= 0x00000050; //UART0 CCLKCFG = 0x05; PCONP |= 0X08; //Powerup for UART0 // PINSEL0=0X050; //ENABLE UART0 U0FCR =0x07; //Fifo Enable U0LCR=3|(1<<7); //ENABLE DLAB AND 8-BIT CHARACTER LENGTH U0DLL=0X4E; //SET BAUD RATE =9600 FOR 12MHZ U0LCR&=0X0F; //DISABLE DLAB
}

/********************************INTI UART3**********************************************/
void init_uart3(void)
{ PINSEL1 |= 0x003C0000; //UART3 CCLKCFG = 0x05; PCONP |= 0X02000000; //Powerup for UART3 U3FCR =0x07; //Fifo Enable U3LCR=3|(1<<7); //ENABLE DLAB AND 8-BIT CHARACTER LENGTH U3DLL=0X4E; //SET BAUD RATE =9600 FOR 12MHZ U3LCR&=0X0F; //DISABLE DLAB U3IER = 0X0; U3FCR = 0xc1; //Fifo Enable
} /********************************************************************************************************/
void receive_uart0(void)

{
while(!(U0LSR &0x01));
data=U0RBR;
}

/********************************************************************************************************/
void transmit_uart0(int data)
{ while(!(U0LSR &0x60)); U0THR =data;

}

void receive_uart(void)
{ while(!(U3LSR &0X01));
data=U3RBR;
}

void transmit_uart(int data)
{ while(!(U3THR&0X60));
U0THR=data;
}

int main()
{ init_uart3();
Init_Uart0();
receive_uart0();
transmit_uart0(data);

receive_uart();
transmit_uart(data);
}