Цитата
то, что обычно делается вот так
text = "ВАСЯ";
приходится делать вот так
text = {RUS('В', 'А', 'С', 'Я', 0)};
что в итоге даст
text = {0x42, 0x41, 0x43, 0xB1, 0x00};
я что-то Вас не понимаю наверно.
код
Код
typedef struct PROGMEM{
const int X;
const char *Text;
}Q;
Q q2 = {0, "VASYA))"};
ложит байтики "VASYA))" подряд же. И инизиализирует *Text адресом буквы V. Пройдитесь далее своим транслятором по этим буковкам, пока не встретите 0 и подмените что надо. А в исходнике будут обычные русские буквы, коды которых известны и прерятствий для "трансляции" нет вроде как ))
Хотите туда пару байт добавить - пожалуйста
Цитата
Q q2 = {0, "VASYA))\x01\x02\x03"};
ноль в конце строки по прежнему будет присутствовать "сам по себе" )
Цитата
Но вот как это в атмеге будет выглядеть инициализация переменной которая является константой.
Простите, что именно Вам не понятно про инициализацию констант? И почему атмега тут занимает какое-то особое место?
Цитата
Имхо, бессмысленный код.
отличный код, делающий как раз то, что просит автор )
Эскизы прикрепленных изображений
The truth is out there...