Что-то не понятное с HT PICC (+)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено Daniil 18 ноября 2002 г. 06:34

Проапгрейдил тут picc8.01pl1 на picc8.01pl3, пока демоверсия все работает нормально, но стоит актвировать его, он начинает писать что неправильно установлен... В тоже время picc8.01pl1 нормально работает.....
И еще кое-что спросить хотел...
имеется:

void lcd_puts(const char * s)
{
LCD_RS = 1;
while(*s)
{
if(*s > 0xBF)
lcd_write(xlat_font[(*s++) - 0xC0]);
else
lcd_write(*s++);
}
}

строка с xlat_font перекодирует по таблице символы windows charset в epson charset для LCD.
до поры до времени (стало глючить когда размер программы подрос немного) это работало, а потом стало вылетать из программы на перекодировке...
точнее работало только при полность отключенной оптимизации...
после модификации стало:
void lcd_puts(const char * s)
{
char ch;

LCD_RS = 1;
while(*s)
{

ch = *s;
if(ch > 0xBF)
ch = xlat[ch - 0xC0];
lcd_write(ch);
s++;
}
}

и это опять стало работать...
когда просмотрел я все это в отладчике, то увидел что там вызываются функции связанные с упакованными строками (packed_string). Никто не знает с чем это связанно?

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru