Компилятор CodeVision 1.28, платформа ATMega8535. Хочу в программе создать массив строк из флеша (строки хранятся во флеше). У меня получилось только так сделать почему-то, иначе мусор выдавался:
Код
#define MAX_NOTIF 4
flash byte * flash Notif[MAX_NOTIF] = {"NOTIF1", "NOTIF2", "NOTIF3", "NOTIF4"};
flash byte * flash Notif[MAX_NOTIF] = {"NOTIF1", "NOTIF2", "NOTIF3", "NOTIF4"};
Потом по коду я это все использую:
Код
byte phone[15];
for (i=0; i < MAX_NOTIF; i++)
{
strcpyf(phone, Notif[i]);
//...
}
for (i=0; i < MAX_NOTIF; i++)
{
strcpyf(phone, Notif[i]);
//...
}
Это вообще правильный подход? Почему мне пришлось и указатель и данные размещать во флеше? Иначе у меня выводился мусор... А как сделать правильно?
И ещё: у меня подозрение, что функция копирования из строки в строку в такой конфигурации не работает (как у меня). Проверить не могу - ничего нет. Или я неправильно думаю?
Спасибо.