Lpc2106 Uart Problems

Posted by Cminor Dimitris Ps on November 8, 2008
Hello Everyone,
I'm new to this stuff and i'm experimenting with an Olimex Lpc2106 board using FreeRTOS.
I have some problems with the Uart Driver though (the one included in demo application).

I have three tasks, the two of them blink 2 leds, and the third is used for sending a string to uart0 and receive something. I use Teraterm as terminal.

The problem is :
When I receive ONE char, everything works well, and I can resend it to Uart :

xSerialGetChar( xPort, &jimR, comRX_BLOCK_TIME );
xSerialPutChar( xPort, jimR, comNO_BLOCK );

But, when I want to receive a string, using an array variable, if I send any char everything hangs. (Assume I send only 2 chars)

char *array;
xSerialGetChar( xPort, &array[0], comRX_BLOCK_TIME );
xSerialGetChar( xPort, &array[1], comRX_BLOCK_TIME );

This does not happen if I use two different variables for my two chars :

xSerialGetChar( xPort, &jimR, comRX_BLOCK_TIME );
xSerialGetChar( xPort, &jimR2, comRX_BLOCK_TIME );
xSerialPutChar( xPort, jimR, comNO_BLOCK );
xSerialPutChar( xPort, jimR2, comNO_BLOCK );

Any thoughts..?

Regards, Dimitris

RE: Lpc2106 Uart Problems

Posted by MEdwards on November 8, 2008
char *array -> This only defines a pointer to a character, not an array. You need char array[2].