Цитата(Andrew_k5 @ Nov 19 2009, 11:28)

Mega16 CodeVisionAVR 1.25.5 Professional
Пример как это сделать в IAR'е. По аналогии можете применить себе:
Код
#include <stdlio.h>
#ifdef __IAR_SYSTEMS_ICC__
#if defined(__IOM128_H)
#define PROGMEM __farflash
#elif defined(__IOM64_H) || defined(__IOM162_H)
#define PROGMEM __flash
#endif
#endif
#define pgm_print(x) do {\
static const U8 PROGMEM str[] = x;\
__pgm_print( str );\
} while(0)
#define pgm_printf(x, ...) do {\
static const U8 PROGMEM pgm_str[] = x;\
char pgm_data_buf[sizeof(pgm_str)];\
__pgm_strcpy( pgm_data_buf, pgm_str);\
printf( pgm_data_buf, __VA_ARGS__);\
} while(0)
void __pgm_print(const U8 PROGMEM *str);
void __pgm_strcpy(char *dst, const U8 PROGMEM *str);
в программе пользую:
pgm_print("simple string");
pgm_printf("format string x = %d", x);