УРА!!! Поборол проблему. Все, видимо, оказалось в процедуре вывода строк на экран ЖКИ.
Раньше она выглядела так:
__flash char *SOFTREV =
{
"Soft rev. - 1.00 ",
};
void DrawString(char *str)
{
for(char i=0;i<18;i++)
{
DrawSymbol(str[i]);
}
}
И для вывода строки использовалась:
DrawString(SOFTREV);
Или можно прямо:
DrawString(”1234567890zzzzzzz”);
//------------------------------------------------------------------------------
Я поменял код на:
void DrawString(char __flash *str I)
{
for(char i=0;i<18;i++)
{
char P=*(str+i);
DrawSymbol(P);
}
}
и
void DrawStringC(char *str)
{
for(char i=0;i<18;i++)
{
char P=*(str+i);
DrawSymbol(P);
}
}
И для вызова использую их так:
char str[18]= ”1234567890zzzzzzz”;
__flash char *SOFTREV[18] =
{
"Soft rev. - 1.00 ",
};
DrawString(&SOFTREV[0]);
DrawStringC(str);
Т.е. при передаче параметров в процедуру использую адрес [0]- го элемента массива.
Ошибка исчезла. Компилируется нормально. Всем спасибо!!!
Сообщение отредактировал #Kirill - Dec 14 2010, 08:58