dxwak (18.12.2012 04:06 - 04:11, просмотров: 79) ответил MBedder на Эта зараза не поддерживает монорежима (только grayscale16), и не умеет читать через SPI - придется вешать на параллельную шину, т.к. у меня в МК только 8К RAM
Если устраивает монорежим, может внутри МК хранить в виде 1 бит на пиксель - потребуется 2К памяти, а grayscale16 распаковывать при выводе на экран только при обновлении экрана, записывать в ОЗУ индикатора только 0x00,0x0f,0xf0,0xff. Или если есть запас ПЗУ(1K) сделать таблицу соответствия:
const unsigned char LCD_mono_2grayscale16[256][4]=
{
{0x00,0x00,0x00,0x00},
{0x00,0x00,0x00,0x0f},
{0x00,0x00,0x00,0xf0},
{0x00,0x00,0x00,0xff},
{0x00,0x00,0x0f,0x00},
{0x00,0x00,0x0f,0x0f},
...
{0xff,0xff,0xff,0xf0},
{0xff,0xff,0xff,0xff},
};
При выводе по SPI для каждого байта из буфера LCD_Buffer[i]:
SPI_out(LCD_mono_2grayscale16[LCD_Buffer[i]][0]);
SPI_out(LCD_mono_2grayscale16[LCD_Buffer[i]][1]);
SPI_out(LCD_mono_2grayscale16[LCD_Buffer[i]][2]);
SPI_out(LCD_mono_2grayscale16[LCD_Buffer[i]][3]);