Lpc2106 Uart Problems

cminor wrote on Saturday, November 08, 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

edwards3 wrote on Saturday, November 08, 2008:

char *array -> This only defines a pointer to a character, not an array. You need char array[2].