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

LPC2148 using 2 UARTs at a time

I want to interface MCB2140 with a pressure sensor which will give input for every 1 second.. I connected UART0 to pressure sensor output, UART1 to serial port of PC. The pressure sensor gives the integer value as output.The UART0 will receive data from sensor and should display in hyper terminal for every 1 minute..I wrote the following code..The code gets hanged in startup file at BX R0...Please let me know any other changes required
#include <LPC21xx.H>
void init_serial (void);
int main(void) {
init_serial();

while(1)
{ int getc_serial0;
int putc_serial1;
} }
void init_serial (void) {

PINSEL0 = 0x00050005;

U0LCR = 0x00000083;

U0DLL = 98;

U0LCR = 0x00000003;

U1LCR = 0x00000083;

U1DLL = 98;

U1LCR = 0x00000003;

}

int getc_serial0(void)

{

while (!(U0LSR & 0x01));

return U0RBR;

}
int putc_serial1(void)

{

while (!(U1LSR & 0x20));

U1THR=U0RBR;

return (U1THR);

}

Parents
  • If the program hangs in the startup file long before reaching main(), then I don't see the need to post your C code.

    What have you done to find out what the problem may be?

    Have you selected the correct processor, so you got the correct startup file?

    Are the memory settings correct, so the program doesn't try to access memory that doesn't exist?

    Any watchdog enabled that needs to be kicked before the startup code manages to reach your main loop?

    Does the startup code initializes any interrupts without having the interrupt vectors mapping to real code?

    Have you tried breakpoints for the exception handlers?

    Is the program even correctly downloaded to your device?

    Is your device properly working? Tested with another program?

Reply
  • If the program hangs in the startup file long before reaching main(), then I don't see the need to post your C code.

    What have you done to find out what the problem may be?

    Have you selected the correct processor, so you got the correct startup file?

    Are the memory settings correct, so the program doesn't try to access memory that doesn't exist?

    Any watchdog enabled that needs to be kicked before the startup code manages to reach your main loop?

    Does the startup code initializes any interrupts without having the interrupt vectors mapping to real code?

    Have you tried breakpoints for the exception handlers?

    Is the program even correctly downloaded to your device?

    Is your device properly working? Tested with another program?

Children