Цитата(Сергей Борщ @ Dec 3 2008, 19:54)

А если посмотреть pgmspace.h, то можно увидеть
Код
typedef char PROGMEM prog_char;
Теперь объясняйте - в чем разница?
Это всё понятно. Только не мне объяснять, почему - откуда я знаю?
Выше приведён пример, в котором строка после компиляции помещается в ОЗУ.
А вот если сделать вот так:
Код
#include <avr/pgmspace.h>
PROGMEM char testString[] ="something here...";
int main(void)
{
char a;
PGM_P p = testString;
do
{
a = pgm_read_byte(p++);
}while (a);
return 0;
}
то всё в порядке:
Код
00000054 g O .text 00000012 testString
00000054 <testString>:
54: 73 6f 6d 65 74 68 69 6e 67 20 68 65 72 65 2e 2e something here..
64: 2e 00 ..
Попробуйте лучше вы это объяснить
Я-то всего лишь любитель...