Код
rom const byte MainMenu[17] = " ОСНОВНОЕ МЕНЮ ";
Но когда он доходит до функции
Код
Converter(StartPos,(void*)MainMenu, 16);
то вместо русских символов там содержится ерунда. То же самое, когда пытаюсь в функцию явно передать в виде параметра строку
Код
Converter1(StartPos,"ОСНОВНОЕ МЕНЮ", 16);
void Converter1 (byte adr, const rom char *screen, byte size)
{
byte newScr[33], i = 0, pos = StartPos;
char a = 0;
for (i = 0; i < size; i++)
{
a = screen[i];
if ((screen[i] >= 128) && (screen[i] <= 137)) // Если символ из специального диапазона
{
flBlink = 1; // Установить флаг для включения мерцания
pos += i; // Запомнить позицию символа
}
newScr[i] = tableLCD[screen[i]]; // Конвертировать символы для отображения в ЖКИ
}
viewStr(adr, (void*)newScr, size); // Отобразить символы на экране
if (flBlink == 1) { Blink(); positionLCD(pos); flBlink = 0; } // Если был обнаружен символ из специального диапазона, включить мерцаниеи
else { NoBlink(); pos = StartPos; } // Иначе отключить мерцание, установить позицию на первый символ
}
void Converter1 (byte adr, const rom char *screen, byte size)
{
byte newScr[33], i = 0, pos = StartPos;
char a = 0;
for (i = 0; i < size; i++)
{
a = screen[i];
if ((screen[i] >= 128) && (screen[i] <= 137)) // Если символ из специального диапазона
{
flBlink = 1; // Установить флаг для включения мерцания
pos += i; // Запомнить позицию символа
}
newScr[i] = tableLCD[screen[i]]; // Конвертировать символы для отображения в ЖКИ
}
viewStr(adr, (void*)newScr, size); // Отобразить символы на экране
if (flBlink == 1) { Blink(); positionLCD(pos); flBlink = 0; } // Если был обнаружен символ из специального диапазона, включить мерцаниеи
else { NoBlink(); pos = StartPos; } // Иначе отключить мерцание, установить позицию на первый символ
}
Подскажите, пожалуйста, может быть где-то в настройках самого компилятора еще можно выставить кодировку?