Добрый день!
Хочу сделать меню для ЖКИ 8*2 с использованием указателей. Раньше плевался на них и не хотел использовать, но вот вижу, что очень удобно их использовать если знать как.
Ниже предстален кусок кода - в структурах хранятся адреса строк, которые нужно вывести, компилятор (ИАР) выдает ошибку:
Error[Pe028]: expression must have a constant value напротив всех элементов структуры. Мне бы хотелось в структкрах писать и указатели на адреса строк, которые во флеше, и указатели на функции, чтобы можно было вывести целые числа, возможно указатели на строки хранящиеся в ОЗУ. Все эти структуры я запихиваю в массив и потом по обращению к элементам массива могу вывожить данные на ЖКИ.
Может быть где-то некорректно выразился - простите, я пока в этих делах не очень
__flash byte *const s0=" MASTER ";
__flash byte *const s1=" v-0.1a ";
__flash byte *const s2=" Журнал ";
__flash byte *const s3=" работы ";
__flash byte *const s4="Конфиг. ";
__flash byte *const s5="системы ";
__flash byte *const s6=" Ручной ";
__flash byte *const s7=" режим ";
__flash byte *const s8="Текущие ";
__flash byte *const s9="настр-ки";
int *pperem;
/*Структуры всех пунктов меню*/
struct MENU{
byte *st1;
byte *st2;
//__flash byte *next;
}mas[]={
s0,
s1,
s2,
s3,
s4,
s5,
s6,
s7,
s8,
s9,
pperem,
pperem,
};
void Hardwareinit (void) {
struct MENU ku;
ku=mas[1]; //элемент массива - адрес структуры
Out_LCD(1,1, (ku.st1));
Out_LCD(2,1, (ku.st2));
}