Цитата(sadat @ Sep 8 2007, 18:17)

Извини, что не сразу отвечаю, но в процедуре отправки слова на дисплей у тебя отсутствует команда сброса строба в ноль
Надо так:
LCD_SCK=0;if (word & 1) LCD_DAT=1;else LCD_DAT=0;LCD_SCK=1;
LCD_SCK=0;LCD_CS=1;
Скорее всего в этом и есть проблема, когда последний бит в слове равен "1" - посылка "сливается" со всякими глюками......
Глюки были из-за несоответствия типов переменных, я к команде int добавлял значения координат char, знаю что идиотский промах но бывает иногда. Когда исправил все фигуры стали выводиться соответственно. Но вот наткнулся на странную проблему, решение и причину которой понять не могу. Написал следующий цикл:
for(j=0;j<176;j++)
{
if(j<=131){
lcd_pset(0x0000,j,j,0xF800);
lcd_pset(j,0x0084,j,0x07E0);
}
else{
k=262-j;
lcd_pset(0x0000,k,j,0xF800);
lcd_pset(k,0x0084,j,0x07E0);
}
}
Не работало, доходило до определенной степени и останавливалось. Я стал подбирать значения 131 и 262. Вот что вышло:
for(j=0;j<176;j++)
{
if(j<124){
lcd_pset(0x0000,j,j,0xF800);
lcd_pset(j,0x0084,j,0x07E0);
}
else{
k=246-j;
lcd_pset(0x0000,k,j,0xF800);
lcd_pset(k,0x0084,j,0x07E0);
}
}
Если брать больше 124 или 246 - не работает, а так все пашет прилично но не до конца экрана, 7-8 pix не дотягивает. Все данные объявлены в int. Цвет второй линии заливается до 131 полностью, именно не строится до конца только вершина треугольника (первая линия).
Кто занает?