The C51 (version 6.14) preprocessor is broken. The stringize operator doesn't evaluate previously defined macros before it turns the contents to a string. E.G.:
#define VERSION 1234 #define MK_STR(x) #x ... void print_version( void ) { printf( MK_STR( VERSION )); }
Thanks, That's the standard way - I don't know where my head was. I was porting code from a Franklin built project, obviously the Franklin compilier does things a little 'different'. Thanks again.