Но есть некоторые сходства с кой-каким иным дисплеем. И если судить по строкам
Код: Выделить всё
WriteToLCD(CMD,0x3a); //interfase pixel format
WriteToLCD(DAT,0x03); //
дисплей запускают в 12-битном режиме. Вы учитываете это?
Код: Выделить всё
WriteToLCD(CMD,0x3a); //interfase pixel format
WriteToLCD(DAT,0x03); //

SubDia писал(а):дисплей запускают в 12-битном режиме. Вы учитываете это?

Код: Выделить всё
//Красный
for(int i = 0; i < 26; i++)
for(int j = 0; j < 101; j++)
DrawPixel( j, i, 0xF800 );
//Зелёный
for(int i = 26; i < 52; i++)
for(int j = 0; j < 101; j++)
DrawPixel( j, i, 0x07E0 );
//Синий
for(int i = 52; i < 80; i++)
for(int j = 0; j < 101; j++)
DrawPixel( j, i, 0x001F );Код: Выделить всё
void DrawPixel(uint8_t XPos, uint8_t YPos, uint16_t Color)
{
CLR_CS;
WriteToLCD( CMD, 0x2A );
WriteToLCD( DAT, XPos );
WriteToLCD( DAT, 100 );
WriteToLCD( CMD, 0x2B );
WriteToLCD( DAT, YPos+1 );
WriteToLCD( DAT, 80 );
WriteToLCD( CMD, 0x2C );
WriteToLCD( DAT, (Color >> 8) & 0xFF );
WriteToLCD( DAT, Color & 0xFF );
SET_CS;
}Код: Выделить всё
WriteToLCD( CMD, 0x2C ); - команда записи в память дисплея
WriteToLCD( DAT, (Color >> 8) & 0xFF ); - выгрузка старшего байта
WriteToLCD( DAT, Color & 0xFF ); - выгрузка младшего байта


Код: Выделить всё
DrawPixel( j, i, 0xE0 );
DrawPixel(j,i,0x1C);
DrawPixel( j, i,0x03);
Код: Выделить всё
WriteToLCD( CMD, 0x2C );
WriteToLCD( DAT, Color );
Bonio писал(а):Вот красный например в 16 битном режиме как записать?

Bonio писал(а):Черные полосочки может это особенность экрана? (маленькое разрешение)
Bonio писал(а):А как вывести на экран строку?

Bonio писал(а):как можно добиться моментальной смены картинки, только увеличением частоты процессора?
Bonio писал(а):Нельзя одной командой залить например заданный квадрат? надо заливать отдельно каждый пиксел?
Bonio писал(а):спасибо за помощь.



