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

UART2 and UART 3 do not work on MCB2300 board

Hi all,
I am using MCB2300 Evaluation Board (LPC2368 based) for tesing UARTs now.
I tried to run blinky demo code, UART0 and UART1 work fine, but I modified the code to use UART2 or UART3, it does not work.Follwong is what I modified in blinky demo code, config pin0.10 and pin0.11 as UART2 Tx and RX. No signal on pin 0.10. I only modified "Serial.c" source code,Please help me to find out the problems.
By the way, I use uVersion3 with Evaluation version of compiler.

Thanks

Jack

/******************************************************************************/
/* SERIAL.C: Low Level Serial Routines                                        */
/******************************************************************************/
/* This file is part of the uVision/ARM development tools.                    */
/* Copyright (c) 2005-2006 Keil Software. All rights reserved.                */
/* This software may only be used under the terms of a valid, current,        */
/* end user licence from KEIL for a compatible version of KEIL software       */
/* development tools. Nothing else gives you the right to use this software.  */
/******************************************************************************/

#include <LPC23xx.H>  /* LPC23xx definitions */

#define UART2    /* Use UART 2 for printf
/*modified here*/
/*use UART2*/
/* If UART 0 is used for printf   */
#ifdef UART0
  #define UxFDR  U0FDR
  #define UxLCR  U0LCR
  #define UxDLL  U0DLL
  #define UxDLM  U0DLM
  #define UxLSR  U0LSR
  #define UxTHR  U0THR
  #define UxRBR  U0RBR
/* If UART 1 is used for printf   */


/* modified here to use UART2*/

#elif defined(UART2)
  #define UxFDR  U2FDR
  #define UxLCR  U2LCR
  #define UxDLL  U2DLL
  #define UxDLM  U2DLM
  #define UxLSR  U2LSR
  #define UxTHR  U2THR
  #define UxRBR  U2RBR
#endif


void init_serial (void)  {   /* Initialize Serial Interface */
  #ifdef UART0
    PINSEL0 |= 0x00000050;  /* Enable TxD0 and RxD0*/

 //modified here to use UART2
  #elif defined (UART2)
    /*PINSEL0 |= 0x40000000;               /* Enable TxD1  */
   /* PINSEL1 |= 0x00000001;               /* Enable RxD1 */


   /*modified here:     */
  PINSEL0 |= 0x00500000;                                   /* Enable TxD2,RXD2*/




  #endif
  UxFDR    = 0;        /* Fractional divider not used       */
  UxLCR    = 0x83;     /* 8 bits, no Parity, 1 Stop bit     */
  UxDLL    = 94;       /* 9600 Baud Rate @ 14.4 MHZ PCLK    */
  UxDLM    = 0;       /* High divisor latch = 0            */
  UxLCR    = 0x03;    /* DLAB = 0                          */
}


/* Implementation of putchar (also used by printf function to output data)    */
int sendchar (int ch)  {                 /* Write character to Serial Port    */

  while (!(UxLSR & 0x20));

  return (UxTHR = ch);
}


int getkey (void)  {                     /* Read character from Serial Port   */

  while (!(UxLSR & 0x01));

  return (UxRBR);
}

0