Вс май 15, 2011 01:20:54
Вс май 15, 2011 13:25:33
shurikss123 писал(а):приветик всем!
Вопрос в студию, заказал недавно диспл wg12864A (part no. WG12864A-CFH-T#N) с RGB подсветкой а теперь когда он пришёл, рву волосы в частности не могу найти на него даташит, с схемой на 22 пина везде на 20 пинов, некто не подскажет что за фигня, как его подключать как посветкой управлять?
Ср июн 22, 2011 22:02:48
Чт июн 30, 2011 05:42:13
Binary писал(а):Только работать я его пока не заставил((
Кто-нибудь пробовал его согласовывать с 3.3-вольтовой логикой?
Пн июл 11, 2011 22:51:22
Вт июл 12, 2011 08:26:53
shurikss123 писал(а):В общем погонял я его попробовал, и сказал тфу. если честно его не везде можно использовать, медленный(очень), и те кто задумал делать на нем осциллограф, лучше не надо ничего не увидите на макс, его скорости.
Вт июл 12, 2011 09:28:41
Вт июл 12, 2011 10:11:59
Вт июл 12, 2011 14:12:59
BerZerK-ku писал(а):А по конкретней? Просто сам периодически работаю с этим дисплеем, перерисовки страничек не замечаю. Флаг занятости проверяю.
Вт июл 12, 2011 20:51:34
Вт июл 12, 2011 21:22:12
Чт июл 14, 2011 11:43:30
Чт июл 14, 2011 13:46:33
Присмотрелся к дисплею по внимательнее, действительно недостатков хватает.shurikss123 писал(а):делаю так два рисунка на одном одна половина на другом другая и в цикл рисовать по очереди и смотрите на его тормоза
Я делаю это так:SkyFly писал(а):Расскажите пожалуйста по порядку для чего каждая строка инициализации?
uchar Init_lcd(void)
{
// инициализация дисплея
// возвращает 0 в конце
// вызов раз в 200 мкс
static uchar delay = 0;
static uchar step = 0;
if (step > 1)
{
if (CheckFlag())
return step;
}
switch(step)
{
case 0:
{
step = 1;
StBit(PORT_RST, LCD_RST); // установим RST
delay = 25;
}
break;
case 1:
{
if (delay > 0) // небольшая пауза после установки сигнала RST
delay--;
else
step = 2;
}
break;
case 2:
WriteLCD(COM, 0xb8, LCD_CS); // установка 0-ой страницы
step++;
break;
case 3:
WriteLCD(COM, 0x40, LCD_CS); // установка 0-ой строчки
step++;
break;
case 4:
WriteLCD(COM,0xc0,LCD_CS); // верхняя 0-ая строка
step++;
break;
case 5:
WriteLCD(COM,0x3f,LCD_CS); // включение дисплея
step = 0;
break;
}
return step;
}
static bool CheckFlag(void)
{
// Проверка флага занятости
// false - занято, true - норм
uchar data;
CrBit(PORT_RS, LCD_RS);
DDRA = 0;
StBit(PORT_CS, LCD_CS);
StBit(PORT_RW, LCD_RW);
_NOP();
_NOP();
StBit(PORT_E, LCD_E);
_NOP();
_NOP();
data = PINA;
CrBit(PORT_E, LCD_E);
_NOP();
//_delay_us(2);
CrBit(PORT_CS, LCD_CS);
StBit(PORT_E, LCD_E);
DDRA=0xff;
return (data & 0x80);
}
Чт июл 14, 2011 16:39:04
Чт июл 14, 2011 17:04:42
Пт июл 15, 2011 00:35:51
Вт сен 06, 2011 17:11:11
Пт сен 09, 2011 16:17:45
Пн сен 19, 2011 10:53:59
Сб окт 01, 2011 17:48:24