dane walther

printf("%c".. not working on CW v7.1.2, CF V2 (52259evb)

Discussion created by dane walther on May 18, 2010
Latest reply on May 25, 2010 by dane walther

Hello everyone..

 

Building with codewarrior v7.1.2 for the V2 family, specifically using the MCF52259 chip...

 

For simplicity, I am redirecting printf(...) to an AsynchroSerial module (AS1).  I am NOT using the internal console, but an external VT100 terminal interface for stdout.

 

The following code segment:

 

char UartChar = 'D';printf("%c", UartChar);

 

does nothing.  Following things through down through the debug process, I come across this snippet within printf_tiny_IO.c (line 460, file revision 1.5.2.2):

 

 

#if LIBDEF_PRINTF_CHAR        case 'c': /* char */          c1 = (char)va_arg(args, int);          str = (char *) &c1;          len = 1;          goto string; /*lint !e801 Use of goto is not deprecated */#endif

 

The line is not compiled into the project (no dots on the left hand side to place debug breakpoints).

 

I have tried adding the following to the project "C/C++ Preprocessor ---> Prefix Text" box:

 

 

#define LIBDEF_PRINTF_CHAR 1

 

But that does not seem to help the way I expect it should-- the code snippet above is STILL ignored, and I can find no higher-level #if condition that is missing..   Am I mis-understanding how to set this parameter in the v7.1.2 codewarrior tool?

 

 

 

thanks,

..dane

Outcomes