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

Baud rate setting for UART in LPC1788

I started work with UART of lPC1788,in that I did the following settings for PCLK as 12MHZ and baud rate as 115200
but while i am simulating this code the baud rate is not assigned as 115200 or approx.

uint32_t uart0_init()
{

LPC_SC->PCONP |=(1<<3); //Enabling power/clock for UART0

LPC_SC->PCLKSEL |=(1<<0); //Selecting PCLKDIV value as 1 for PCLKSEL

LPC_IOCON->P0_2 = 1; //Selecting fn. 001 for P0.2(U0_TXD)

LPC_IOCON->P0_3 = 1; //Selecting fn. 001 for P0.3(U0_RXD)

LPC_UART0->LCR =(0x83); //Selecting DLAB=1,1 stop bit,Parity bit and 8-bit character length

LPC_UART0->DLL = 0x04; //For PCLK=12MHZ and baud rate as 115200,DLL=4(in dec.)

LPC_UART0->DLM = 0x00; //For PCLK=12MHZ and baud rate as 115200,DLM=0(in dec.)

LPC_UART0->FDR =(0x85); //DIVADDVAL=1(3:0) and MULVAL=2(7:4) in FDR calculated from the FRest value

LPC_UART0->LCR =(0x03); //Disabling DLAB=0

LPC_UART0->FCR |=(7<<0); //Enable FIFOEN,TXFIFORES and RXFIFORES in FCR(0,1,2)

LPC_UART0->FCR |=(0<<0); //Disable FIFOEN,TXFIFORES and RXFIFORES in FCR(0,1,2)

//NVIC_EnableIRQ(UART0_IRQn);

//LPC_UART0->IER = IER_RBRIE | IER_THREIE | IER_RXIE;

return 1;

}

For me its coming near 384615,its totally different.Is there any calculations to be done to obtain exact of 115200 baud.

Please do clear for me..

Thanks in advance for suggesting experts..

Parents
  • With the CCLK value of 120MHZ,I used to select the PCLKSEL value of 0x0000000A to obtain the PCLK of 12MHZ.Now I am getting PCLK of 12MHZ which is my required frequency and I am obtaining 9600 approx. value while debugging the code with UART0.

    Is this is a correct method to set 9600 baud rate?.

Reply
  • With the CCLK value of 120MHZ,I used to select the PCLKSEL value of 0x0000000A to obtain the PCLK of 12MHZ.Now I am getting PCLK of 12MHZ which is my required frequency and I am obtaining 9600 approx. value while debugging the code with UART0.

    Is this is a correct method to set 9600 baud rate?.

Children