К сожалению я в том коде нефирштейнHHIMERA писал(а):ОтсюдаVXXXV писал(а):заработало, рисует два цветных прямоугольника, блымает
http://vrtp.ru/index.php?showtopic=1120&st=1380#
из архива
http://vrtp.ru/index.php?act=Attach&type=post&id=381312
в файле lcd.c возьмите полную инициализацию дисплея...
Юзаем дисплеи от сотовых и других потаскунчиков.
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
- Реклама
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Не-не-не... профилонить не прокатит...
Есть дисплеи, где и половины инициализации уже много... а есть - только по полной...
Если у вас дисплей-оригинал, то нужна полная...
Есть дисплеи, где и половины инициализации уже много... а есть - только по полной...
Если у вас дисплей-оригинал, то нужна полная...
"Я не даю готовых решений, я заставляю думать!"(С)
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Разок он мне мусор показал в той инициализации что давали, вобщем завтра точно покажет. В полной я так понял есть ориентация экрана и цветность, и все?
Последний раз редактировалось VXXXV Пн фев 04, 2013 15:29:52, всего редактировалось 1 раз.
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
У меня дисплей завелся, показал разноцветный мусор. Но только есть мерцание как в сети 50, 60Гц. Нарягает сильно, но не могу от него избавиться.
Заметил что при заливка всего экана цветом происходит как то странно, от края экрана и одновременно с середины в одном направлении начинается заливать. Как с этим бороться?
Фото скину вечером если необходимо.
Заметил что при заливка всего экана цветом происходит как то странно, от края экрана и одновременно с середины в одном направлении начинается заливать. Как с этим бороться?
Фото скину вечером если необходимо.
-
srg320
- Встал на лапы
- Сообщения: 85
- Зарегистрирован: Пт фев 01, 2013 17:47:26
- Откуда: Украина, Луганская область
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Для того, чтобы дисплей не мерцал, были нормальные цвета и правильно проходила заливка необходимо провести полную инициализацию дисплея - ещё с десяток регистров прописать.
- Реклама
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
В инициализации я происал вот так.
Чего сдесь не хватает для полноты?
void LCDinit ()// инициализация дисплея
{
WR = 1;
RES = 0;
delay_ms(10);
RES = 1;
delay_ms(100);
CS=0;
SendCom(0x11); // SLPOUT
delay_ms(100);
SendCom(0x3A);
SendDat(0x08);
SendCom(0x36);
SendDat(0x14);
SendCom(0x2A);
SendDat(0x00);
SendDat(0x00);
SendDat(0x00);
SendDat(0xEF);
SendCom(0x2B);
SendDat(0x00);
SendDat(0x00);
SendDat(0x01);
SendDat(0x8F);
SendCom(0x29); // DISPON
delay_ms(100);
}
Чего сдесь не хватает для полноты?
void LCDinit ()// инициализация дисплея
{
WR = 1;
RES = 0;
delay_ms(10);
RES = 1;
delay_ms(100);
CS=0;
SendCom(0x11); // SLPOUT
delay_ms(100);
SendCom(0x3A);
SendDat(0x08);
SendCom(0x36);
SendDat(0x14);
SendCom(0x2A);
SendDat(0x00);
SendDat(0x00);
SendDat(0x00);
SendDat(0xEF);
SendCom(0x2B);
SendDat(0x00);
SendDat(0x00);
SendDat(0x01);
SendDat(0x8F);
SendCom(0x29); // DISPON
delay_ms(100);
}
-
srg320
- Встал на лапы
- Сообщения: 85
- Зарегистрирован: Пт фев 01, 2013 17:47:26
- Откуда: Украина, Луганская область
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
По памяти не помню, буду дома - напишу.
-
srg320
- Встал на лапы
- Сообщения: 85
- Зарегистрирован: Пт фев 01, 2013 17:47:26
- Откуда: Украина, Луганская область
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Вобщем, инициализацию дисплея я выдрал из исходников андроида.
Возможно там что-то лишнее, но я использовал всё как есть.
Вот коды команд:
Вот структура инициализации, используемая в моей программе:
К примеру, команда POWCTL (0xF3) имеет 7 параметров (0x80, 0x00, 0x00, 0x0B, 0x33, 0x7F, 0x7F), последнее число определяет задержку после команды.
MaxGoblin, в вашем случае будет так:
SendCom(0xF3);
SendDat(0x80);
SendDat(0x00);
SendDat(0x00);
SendDat(0x0B);
SendDat(0x33);
SendDat(0x7F);
SendDat(0x7F);
SendCom(0xF4);
SendDat(0x6E);
SendDat(0x6E);
SendDat(0x7F);
SendDat(0x7F);
SendDat(0x33);
и т.д. следующие команды
Возможно там что-то лишнее, но я использовал всё как есть.
Вот коды команд:
Код: Выделить всё
#define POWCTL 0xF3
#define VCMCTL 0xF4
#define SRCCTL 0xF5
#define SLPOUT 0x11
#define TEON 0x35
#define MADCTL 0x36
#define COLMOD 0x3A
#define DISCTL 0xF2
#define IFCTL 0xF6
#define GATECTL 0xFD
#define WRDISBV 0x51
#define WRCABCMB 0x5E
#define MIECTL1 0xCA
#define BCMODE 0xCB
#define MIECTL2 0xCC
#define MIECTL3 0xCD
#define RPGAMCTL 0xF7
#define RNGAMCTL 0xF8
#define GPGAMCTL 0xF9
#define GNGAMCTL 0xFA
#define BPGAMCTL 0xFB
#define BNGAMCTL 0xFC
#define CASET 0x2A
#define PASET 0x2B
#define RAMWR 0x2C
#define WRCTRLD 0x53
#define WRCABC 0x55
#define DISPON 0x29
#define DISPOFF 0x28
#define SLPIN 0x10
#define RDDIDIF 0x04
#define RDID1 0xDA
#define RDID2 0xDB
#define RDID3 0xDC
Код: Выделить всё
const struct setting_table S6D04D1_power_on_setting_table[] = {
{ POWCTL, 7, { 0x80, 0x00, 0x00, 0x0B, 0x33, 0x7F, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 0 },
{ VCMCTL, 5, { 0x6E, 0x6E, 0x7F, 0x7F, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 0 },
{ SRCCTL, 5, { 0x12, 0x00, 0x03, 0xF0, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 0 },//
{ SLPOUT, 0, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 120 },
{ MADCTL, 1, { 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 0 },
{ COLMOD, 1, { 0x77, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 30 }, //
{ DISCTL, 11, { 0x14, 0x14, 0x03, 0x08, 0x08, 0x08, 0x08, 0x1C, 0x04, 0x14, 0x14, 0x00, 0x00, 0x00, 0x00 }, 0 },
{ GATECTL, 2, { 0x22, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 0 },
{ WRDISBV, 1, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 0 }, //BRIGHTNESS//
{ WRCABCMB, 1, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 0 }, //
{ MIECTL1, 3, { 0x80, 0x80, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 0 }, //
{ BCMODE, 1, { 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 0 },//
{ MIECTL2, 3, { 0x20, 0x01, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 0 },
{ MIECTL3, 2, { 0x7C, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 0 }, //
{ RPGAMCTL, 15, { 0x00, 0x23, 0x15, 0x15, 0x1C, 0x19, 0x18, 0x1E, 0x24, 0x25, 0x25, 0x20, 0x10, 0x22, 0x21 }, 0 }, //
{ RNGAMCTL, 15, { 0x19, 0x00, 0x15, 0x15, 0x1C, 0x1F, 0x1E, 0x24, 0x1E, 0x1F, 0x25, 0x20, 0x10, 0x22, 0x21 }, 0 }, //
{ GPGAMCTL, 15, { 0x06, 0x23, 0x14, 0x14, 0x1D, 0x1A, 0x19, 0x1F, 0x24, 0x26, 0x30, 0x1E, 0x1E, 0x22, 0x21 }, 0 }, //
{ GNGAMCTL, 15, { 0x19, 0x06, 0x14, 0x14, 0x1D, 0x20, 0x1F, 0x25, 0x1E, 0x20, 0x30, 0x1E, 0x1E, 0x22, 0x21 }, 0 }, //
{ BPGAMCTL, 15, { 0x2C, 0x23, 0x20, 0x20, 0x23, 0x2F, 0x30, 0x39, 0x09, 0x09, 0x18, 0x13, 0x13, 0x22, 0x21 }, 0 }, //
{ BNGAMCTL, 15, { 0x19, 0x2C, 0x20, 0x20, 0x23, 0x35, 0x36, 0x3F, 0x03, 0x03, 0x18, 0x13, 0x13, 0x22, 0x21 }, 0 }, //
{ TEON, 1, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 0 }, //
{ CASET, 4, { 0x00, 0x00, 0x01, 0x8F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 0 },
{ PASET, 4, { 0x00, 0x00, 0x00, 0xEF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 0 },
{ RAMWR, 0, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 0 },
{ WRCTRLD, 1, { 0x2C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 0 }, //
{ WRCABC, 1, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 0 }, //
{ DISPON, 0, { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }, 50 },
};
К примеру, команда POWCTL (0xF3) имеет 7 параметров (0x80, 0x00, 0x00, 0x0B, 0x33, 0x7F, 0x7F), последнее число определяет задержку после команды.
MaxGoblin, в вашем случае будет так:
SendCom(0xF3);
SendDat(0x80);
SendDat(0x00);
SendDat(0x00);
SendDat(0x0B);
SendDat(0x33);
SendDat(0x7F);
SendDat(0x7F);
SendCom(0xF4);
SendDat(0x6E);
SendDat(0x6E);
SendDat(0x7F);
SendDat(0x7F);
SendDat(0x33);
и т.д. следующие команды
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Написал инициализацию полностью, изменений никаких, два черных квадрата и все. Вот что написал:
Код: Выделить всё
SendCom(0xF3);
SendDat(0x80);
SendDat(0x00);
SendDat(0x00);
SendDat(0x0B);
SendDat(0x33);
SendDat(0x7F);
SendDat(0x7F);
SendCom(0xF4);
SendDat(0x6E);
SendDat(0x6E);
SendDat(0x7F);
SendDat(0x7F);
SendDat(0x33);
SendCom(0xF5);
SendDat(0x12);
SendDat(0x03);
SendDat(0xF0);
SendDat(0x70);
SendCom(0x11);
delay_ms(100);
SendCom(0x36);
SendDat(0x20);
SendCom(0x3A);
SendDat(0x77);
delay_ms(30);
SendCom(0xF2);
SendDat(0x14);
SendDat(0x14);
SendDat(0x03);
SendDat(0x03);
SendDat(0x04);
SendDat(0x03);
SendDat(0x04);
SendDat(0x10);
SendDat(0x04);
SendDat(0x14);
SendDat(0x14);
SendCom(0xFD);
SendDat(0x22);
SendDat(0x01);
SendCom(0x51);
SendCom(0x5E);
SendCom(0xCA);
SendDat(0x80);
SendDat(0x80);
SendDat(0x20);
SendCom(0xCB);
SendDat(0x03);
SendCom(0xCC);
SendDat(0x20);
SendDat(0x01);
SendDat(0x8F);
SendCom(0xCD);
SendDat(0x7C);
SendDat(0x01);
SendCom(0xF7);
SendDat(0x23);
SendDat(0x15);
SendDat(0x15);
SendDat(0x1C);
SendDat(0x19);
SendDat(0x18);
SendDat(0x1E);
SendDat(0x24);
SendDat(0x25);
SendDat(0x25);
SendDat(0x20);
SendDat(0x10);
SendDat(0x22);
SendDat(0x21);
SendCom(0xF8);
SendDat(0x19);
SendDat(0x15);
SendDat(0x15);
SendDat(0x1C);
SendDat(0x1F);
SendDat(0x1E);
SendDat(0x24);
SendDat(0x1E);
SendDat(0x1F);
SendDat(0x25);
SendDat(0x20);
SendDat(0x10);
SendDat(0x22);
SendDat(0x21);
SendCom(0xF9);
SendDat(0x06);
SendDat(0x23);
SendDat(0x14);
SendDat(0x14);
SendDat(0x1D);
SendDat(0x1A);
SendDat(0x19);
SendDat(0x1F);
SendDat(0x24);
SendDat(0x26);
SendDat(0x30);
SendDat(0x1E);
SendDat(0x1E);
SendDat(0x22);
SendDat(0x21);
SendCom(0xFA);
SendDat(0x19);
SendDat(0x06);
SendDat(0x14);
SendDat(0x14);
SendDat(0x1D);
SendDat(0x20);
SendDat(0x1F);
SendDat(0x25);
SendDat(0x1E);
SendDat(0x20);
SendDat(0x30);
SendDat(0x1E);
SendDat(0x1E);
SendDat(0x22);
SendDat(0x21);
SendCom(0xFB);
SendDat(0x2C);
SendDat(0x23);
SendDat(0x20);
SendDat(0x20);
SendDat(0x23);
SendDat(0x2F);
SendDat(0x30);
SendDat(0x39);
SendDat(0x09);
SendDat(0x09);
SendDat(0x18);
SendDat(0x13);
SendDat(0x13);
SendDat(0x22);
SendDat(0x21);
SendCom(0xFC);
SendDat(0x19);
SendDat(0x2C);
SendDat(0x20);
SendDat(0x20);
SendDat(0x23);
SendDat(0x35);
SendDat(0x36);
SendDat(0x3F);
SendDat(0x03);
SendDat(0x03);
SendDat(0x18);
SendDat(0x13);
SendDat(0x13);
SendDat(0x22);
SendDat(0x21);
SendCom(0x35);
SendCom(0x2A);
SendDat(0x01);
SendDat(0x8F);
SendCom(0x2B);
SendDat(0xEF);
SendCom(0x2C);
SendCom(0x53);
SendDat(0x2C);
SendCom(0x55);
SendCom(0x29); // DISPON
delay_ms(50); -
srg320
- Встал на лапы
- Сообщения: 85
- Зарегистрирован: Пт фев 01, 2013 17:47:26
- Откуда: Украина, Луганская область
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
VXXXV, зачем нули попропускали, они же там не просто так.
Вот то, что сразу заметил и исправил:
SendCom(0xF3);
SendDat(0x80);
SendDat(0x00);
SendDat(0x00);
SendDat(0x0B);
SendDat(0x33);
SendDat(0x7F);
SendDat(0x7F);
SendCom(0xF4);
SendDat(0x6E);
SendDat(0x6E);
SendDat(0x7F);
SendDat(0x7F);
SendDat(0x33);
SendCom(0xF5);
SendDat(0x12);
SendDat(0x00);
SendDat(0x03);
SendDat(0xF0);
SendDat(0x70);
SendCom(0x11);
delay_ms(100);
SendCom(0x36);
SendDat(0x20);
SendCom(0x3A);
SendDat(0x77);
delay_ms(30);
SendCom(0xF2);
SendDat(0x14);
SendDat(0x14);
SendDat(0x03);
SendDat(0x03);
SendDat(0x04);
SendDat(0x03);
SendDat(0x04);
SendDat(0x10);
SendDat(0x04);
SendDat(0x14);
SendDat(0x14);
SendCom(0xFD);
SendDat(0x22);
SendDat(0x01);
SendCom(0x51);
SendDat(0x00);
SendCom(0x5E);
SendDat(0x00);
SendCom(0xCA);
SendDat(0x80);
SendDat(0x80);
SendDat(0x20);
SendCom(0xCB);
SendDat(0x03);
SendCom(0xCC);
SendDat(0x20);
SendDat(0x01);
SendDat(0x8F);
SendCom(0xCD);
SendDat(0x7C);
SendDat(0x01);
SendCom(0xF7);
SendDat(0x00);
SendDat(0x23);
SendDat(0x15);
SendDat(0x15);
SendDat(0x1C);
SendDat(0x19);
SendDat(0x18);
SendDat(0x1E);
SendDat(0x24);
SendDat(0x25);
SendDat(0x25);
SendDat(0x20);
SendDat(0x10);
SendDat(0x22);
SendDat(0x21);
SendCom(0xF8);
SendDat(0x19);
SendDat(0x00);
SendDat(0x15);
SendDat(0x15);
SendDat(0x1C);
SendDat(0x1F);
SendDat(0x1E);
SendDat(0x24);
SendDat(0x1E);
SendDat(0x1F);
SendDat(0x25);
SendDat(0x20);
SendDat(0x10);
SendDat(0x22);
SendDat(0x21);
SendCom(0xF9);
SendDat(0x06);
SendDat(0x23);
SendDat(0x14);
SendDat(0x14);
SendDat(0x1D);
SendDat(0x1A);
SendDat(0x19);
SendDat(0x1F);
SendDat(0x24);
SendDat(0x26);
SendDat(0x30);
SendDat(0x1E);
SendDat(0x1E);
SendDat(0x22);
SendDat(0x21);
SendCom(0xFA);
SendDat(0x19);
SendDat(0x06);
SendDat(0x14);
SendDat(0x14);
SendDat(0x1D);
SendDat(0x20);
SendDat(0x1F);
SendDat(0x25);
SendDat(0x1E);
SendDat(0x20);
SendDat(0x30);
SendDat(0x1E);
SendDat(0x1E);
SendDat(0x22);
SendDat(0x21);
SendCom(0xFB);
SendDat(0x2C);
SendDat(0x23);
SendDat(0x20);
SendDat(0x20);
SendDat(0x23);
SendDat(0x2F);
SendDat(0x30);
SendDat(0x39);
SendDat(0x09);
SendDat(0x09);
SendDat(0x18);
SendDat(0x13);
SendDat(0x13);
SendDat(0x22);
SendDat(0x21);
SendCom(0xFC);
SendDat(0x19);
SendDat(0x2C);
SendDat(0x20);
SendDat(0x20);
SendDat(0x23);
SendDat(0x35);
SendDat(0x36);
SendDat(0x3F);
SendDat(0x03);
SendDat(0x03);
SendDat(0x18);
SendDat(0x13);
SendDat(0x13);
SendDat(0x22);
SendDat(0x21);
SendCom(0x35);
SendDat(0x00);
SendCom(0x2A);
SendDat(0x00);
SendDat(0x00);
SendDat(0x01);
SendDat(0x8F);
SendCom(0x2B);
SendDat(0x00);
SendDat(0x00);
SendDat(0x00);
SendDat(0xEF);
SendCom(0x2C);
SendCom(0x53);
SendDat(0x2C);
SendCom(0x55);
SendDat(0x00);
SendCom(0x29); // DISPON
delay_ms(50);
Вот то, что сразу заметил и исправил:
SendCom(0xF3);
SendDat(0x80);
SendDat(0x00);
SendDat(0x00);
SendDat(0x0B);
SendDat(0x33);
SendDat(0x7F);
SendDat(0x7F);
SendCom(0xF4);
SendDat(0x6E);
SendDat(0x6E);
SendDat(0x7F);
SendDat(0x7F);
SendDat(0x33);
SendCom(0xF5);
SendDat(0x12);
SendDat(0x00);
SendDat(0x03);
SendDat(0xF0);
SendDat(0x70);
SendCom(0x11);
delay_ms(100);
SendCom(0x36);
SendDat(0x20);
SendCom(0x3A);
SendDat(0x77);
delay_ms(30);
SendCom(0xF2);
SendDat(0x14);
SendDat(0x14);
SendDat(0x03);
SendDat(0x03);
SendDat(0x04);
SendDat(0x03);
SendDat(0x04);
SendDat(0x10);
SendDat(0x04);
SendDat(0x14);
SendDat(0x14);
SendCom(0xFD);
SendDat(0x22);
SendDat(0x01);
SendCom(0x51);
SendDat(0x00);
SendCom(0x5E);
SendDat(0x00);
SendCom(0xCA);
SendDat(0x80);
SendDat(0x80);
SendDat(0x20);
SendCom(0xCB);
SendDat(0x03);
SendCom(0xCC);
SendDat(0x20);
SendDat(0x01);
SendDat(0x8F);
SendCom(0xCD);
SendDat(0x7C);
SendDat(0x01);
SendCom(0xF7);
SendDat(0x00);
SendDat(0x23);
SendDat(0x15);
SendDat(0x15);
SendDat(0x1C);
SendDat(0x19);
SendDat(0x18);
SendDat(0x1E);
SendDat(0x24);
SendDat(0x25);
SendDat(0x25);
SendDat(0x20);
SendDat(0x10);
SendDat(0x22);
SendDat(0x21);
SendCom(0xF8);
SendDat(0x19);
SendDat(0x00);
SendDat(0x15);
SendDat(0x15);
SendDat(0x1C);
SendDat(0x1F);
SendDat(0x1E);
SendDat(0x24);
SendDat(0x1E);
SendDat(0x1F);
SendDat(0x25);
SendDat(0x20);
SendDat(0x10);
SendDat(0x22);
SendDat(0x21);
SendCom(0xF9);
SendDat(0x06);
SendDat(0x23);
SendDat(0x14);
SendDat(0x14);
SendDat(0x1D);
SendDat(0x1A);
SendDat(0x19);
SendDat(0x1F);
SendDat(0x24);
SendDat(0x26);
SendDat(0x30);
SendDat(0x1E);
SendDat(0x1E);
SendDat(0x22);
SendDat(0x21);
SendCom(0xFA);
SendDat(0x19);
SendDat(0x06);
SendDat(0x14);
SendDat(0x14);
SendDat(0x1D);
SendDat(0x20);
SendDat(0x1F);
SendDat(0x25);
SendDat(0x1E);
SendDat(0x20);
SendDat(0x30);
SendDat(0x1E);
SendDat(0x1E);
SendDat(0x22);
SendDat(0x21);
SendCom(0xFB);
SendDat(0x2C);
SendDat(0x23);
SendDat(0x20);
SendDat(0x20);
SendDat(0x23);
SendDat(0x2F);
SendDat(0x30);
SendDat(0x39);
SendDat(0x09);
SendDat(0x09);
SendDat(0x18);
SendDat(0x13);
SendDat(0x13);
SendDat(0x22);
SendDat(0x21);
SendCom(0xFC);
SendDat(0x19);
SendDat(0x2C);
SendDat(0x20);
SendDat(0x20);
SendDat(0x23);
SendDat(0x35);
SendDat(0x36);
SendDat(0x3F);
SendDat(0x03);
SendDat(0x03);
SendDat(0x18);
SendDat(0x13);
SendDat(0x13);
SendDat(0x22);
SendDat(0x21);
SendCom(0x35);
SendDat(0x00);
SendCom(0x2A);
SendDat(0x00);
SendDat(0x00);
SendDat(0x01);
SendDat(0x8F);
SendCom(0x2B);
SendDat(0x00);
SendDat(0x00);
SendDat(0x00);
SendDat(0xEF);
SendCom(0x2C);
SendCom(0x53);
SendDat(0x2C);
SendCom(0x55);
SendDat(0x00);
SendCom(0x29); // DISPON
delay_ms(50);
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Всеравно без изменений 
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
"Разделяй и властвуй!"(С)
Оставьте одну только инициализацию (после инициализации вставьте вечный цикл)... или вставьте задержку после инициализации секунд на 5-6-10...
По первому включению должен быть цветной мусор на весь экран, без миганий и прочих артефактов... Если что-то не так, значит смотрите подключение и инициализацию...
Пересброс цветного мусора не даст... только передёргивание по питанию, частенько с паузой между включениями...
Оставьте одну только инициализацию (после инициализации вставьте вечный цикл)... или вставьте задержку после инициализации секунд на 5-6-10...
По первому включению должен быть цветной мусор на весь экран, без миганий и прочих артефактов... Если что-то не так, значит смотрите подключение и инициализацию...
Пересброс цветного мусора не даст... только передёргивание по питанию, частенько с паузой между включениями...
"Я не даю готовых решений, я заставляю думать!"(С)
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Цветной мусор есть, но когда делаю заливку экрана (любым цветом) то справа выезжают черные квадратики, в самом верху и с середины. Если так залить другой код только с инициалтзацией, квадраты не исчезнут, только если питание секунд на 5 отключить снова весь экран в мусоре.
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Я вот так например провел инициализацию.(Все работает так как надо).
Еще буду пробовать еще кое какие команды из инициализации убрать, чтобы впустую не занималось место.
void LCDinit ()// инициализация дисплея
{
WR = 1;
//CS=1;
RES = 0;
delay_ms(10);
RES = 1;
delay_ms(100);
CS=0;
SendCom(0xF3);
SendDat(0x80);
SendDat(0x00);
SendDat(0x00);
SendDat(0x0B);
SendDat(0x33);
SendDat(0x7F);
SendDat(0x7F);
SendCom(0xF4);
SendDat(0x6E);
SendDat(0x6E);
SendDat(0x7F);
SendDat(0x7F);
SendDat(0x33);
SendCom(0xF5);
SendDat(0x12);
SendDat(0x00);
SendDat(0x03);
SendDat(0xF0);
SendDat(0x70);
SendCom(0x11);
delay_ms(100);
SendCom(0x36);
SendDat(0x14);
SendCom(0x3A);
SendDat(0x77);
delay_ms(30);
SendCom(0xF2);
SendDat(0x14);
SendDat(0x14);
SendDat(0x03);
SendDat(0x03);
SendDat(0x04);
SendDat(0x03);
SendDat(0x04);
SendDat(0x10);
SendDat(0x04);
SendDat(0x14);
SendDat(0x14);
SendCom(0xFD);
SendDat(0x22);
SendDat(0x01);
SendCom(0x51);
SendDat(0x00);
SendCom(0x5E);
SendDat(0x00);
SendCom(0xCA);
SendDat(0x80);
SendDat(0x80);
SendDat(0x20);
SendCom(0xCB);
SendDat(0x03);
SendCom(0xCC);
SendDat(0x20);
SendDat(0x01);
SendDat(0x8F);
SendCom(0xCD);
SendDat(0x7C);
SendDat(0x01);
SendCom(0x35);
SendDat(0x00);
SendCom(0x2A);
SendDat(0x00);
SendDat(0x00);
SendDat(0x01);
SendDat(0x8F);
SendCom(0x2B);
SendDat(0x00);
SendDat(0x00);
SendDat(0x00);
SendDat(0xEF);
SendCom(0x2C);
SendCom(0x53);
SendDat(0x2C);
SendCom(0x55);
SendDat(0x00);
SendCom(0x29); // DISPON
delay_ms(50);
}
И вот так описал функцию очистки экрана.
void CLSLcd(void)
{
unsigned int i, k; // объявляем переменную i
CS=0; //Ноль
//------------------------
SendCom(0x2A); //Команда ориетации по Y координате
SendDat(0x0); //Данныеначала Y координат (0)
SendDat(0x0); //
SendDat(0); //Данные конца Y координат (240)
SendDat(240); //
//------------------------
SendCom(0x2B); //Команда ориетации по Х координате
SendDat(0x0); //Данныеначала X координат (0)
SendDat(0x0); //
SendDat(1); //Данные конца X координат (400)
SendDat(400); //
//------------------------
SendCom(0x2C); //Команда записи в память дисплея
for (i = 1; i <= 401; i++)
{
for (k = 1; k <= 241; k++)
{
SendDat(255); //
SendDat(255); //
SendDat(255); //
}
}
}
Заливка происходит равномерно по всему экрану и без дерганий.
to: VXXXV.
Может у вас что то не так описано в функции очистки что у вас квадратами рисует.
Еще буду пробовать еще кое какие команды из инициализации убрать, чтобы впустую не занималось место.
void LCDinit ()// инициализация дисплея
{
WR = 1;
//CS=1;
RES = 0;
delay_ms(10);
RES = 1;
delay_ms(100);
CS=0;
SendCom(0xF3);
SendDat(0x80);
SendDat(0x00);
SendDat(0x00);
SendDat(0x0B);
SendDat(0x33);
SendDat(0x7F);
SendDat(0x7F);
SendCom(0xF4);
SendDat(0x6E);
SendDat(0x6E);
SendDat(0x7F);
SendDat(0x7F);
SendDat(0x33);
SendCom(0xF5);
SendDat(0x12);
SendDat(0x00);
SendDat(0x03);
SendDat(0xF0);
SendDat(0x70);
SendCom(0x11);
delay_ms(100);
SendCom(0x36);
SendDat(0x14);
SendCom(0x3A);
SendDat(0x77);
delay_ms(30);
SendCom(0xF2);
SendDat(0x14);
SendDat(0x14);
SendDat(0x03);
SendDat(0x03);
SendDat(0x04);
SendDat(0x03);
SendDat(0x04);
SendDat(0x10);
SendDat(0x04);
SendDat(0x14);
SendDat(0x14);
SendCom(0xFD);
SendDat(0x22);
SendDat(0x01);
SendCom(0x51);
SendDat(0x00);
SendCom(0x5E);
SendDat(0x00);
SendCom(0xCA);
SendDat(0x80);
SendDat(0x80);
SendDat(0x20);
SendCom(0xCB);
SendDat(0x03);
SendCom(0xCC);
SendDat(0x20);
SendDat(0x01);
SendDat(0x8F);
SendCom(0xCD);
SendDat(0x7C);
SendDat(0x01);
SendCom(0x35);
SendDat(0x00);
SendCom(0x2A);
SendDat(0x00);
SendDat(0x00);
SendDat(0x01);
SendDat(0x8F);
SendCom(0x2B);
SendDat(0x00);
SendDat(0x00);
SendDat(0x00);
SendDat(0xEF);
SendCom(0x2C);
SendCom(0x53);
SendDat(0x2C);
SendCom(0x55);
SendDat(0x00);
SendCom(0x29); // DISPON
delay_ms(50);
}
И вот так описал функцию очистки экрана.
void CLSLcd(void)
{
unsigned int i, k; // объявляем переменную i
CS=0; //Ноль
//------------------------
SendCom(0x2A); //Команда ориетации по Y координате
SendDat(0x0); //Данныеначала Y координат (0)
SendDat(0x0); //
SendDat(0); //Данные конца Y координат (240)
SendDat(240); //
//------------------------
SendCom(0x2B); //Команда ориетации по Х координате
SendDat(0x0); //Данныеначала X координат (0)
SendDat(0x0); //
SendDat(1); //Данные конца X координат (400)
SendDat(400); //
//------------------------
SendCom(0x2C); //Команда записи в память дисплея
for (i = 1; i <= 401; i++)
{
for (k = 1; k <= 241; k++)
{
SendDat(255); //
SendDat(255); //
SendDat(255); //
}
}
}
Заливка происходит равномерно по всему экрану и без дерганий.
to: VXXXV.
Может у вас что то не так описано в функции очистки что у вас квадратами рисует.
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
2VXXXV
Если по сбросу цветной мусор заполнил весь экран, значит играйтесь регистром COLMOD(3Ah)...
Попробуйте записать в него или 05H, или 55Н... и заливайте дисплей не 24-бит данными, а 16-бит... по два байта на точку...
F8H и 00H должны давать красный цвет заливки... 00Н и 00Н - чёрный, а FFH и FFH - белый...
Если по сбросу цветной мусор заполнил весь экран, значит играйтесь регистром COLMOD(3Ah)...
Попробуйте записать в него или 05H, или 55Н... и заливайте дисплей не 24-бит данными, а 16-бит... по два байта на точку...
F8H и 00H должны давать красный цвет заливки... 00Н и 00Н - чёрный, а FFH и FFH - белый...
"Я не даю готовых решений, я заставляю думать!"(С)
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Все перепробывал, когда выводятся другие цвета квадратов, то видно их мерцание. Цвета меняются даже когда другое значение яркости ставлю, в основном черный чаще выскакивает. Может я дисп подпалил немного. Вот фото квадратов


-
Chettuser
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Народ, длинные простыни текста можно спрятать под спойлер, например:
Спойлер
...текст...Re: Юзаем дисплеи от сотовых и других потаскунчиков.
Новый перл от китая. Поехал купил дисплей китайский и шлейф, тоже китайский. Решил востановить телефон, вкинул новый шлейф а телефон фигушки. Пришлось брать выпаивать разъем и впаивать в оригинальный шлейф, после этого телефон ожил. Затем настала очередь дисплея с поднебесной, купленого за 10у.е. Неменяя в инициализации ничего, снова мусор, а при закраске экрана черт знает что. Пробывал разные коды, но результат тот же, на регистр 0х36 полный мороз. Подсветка очень яркая снизу (на фото видно почти белый цвет вместо желтого), вобщем качество г.... Дисплеи нокии те что я брал (тоже китай) по качеству как оригинал, ну а у самсунга...вобщем ложу их на дальнюю полку.


Re: Юзаем дисплеи от сотовых и других потаскунчиков.
А предыдущий экран который вы подключали тоже китаец?
Re: Юзаем дисплеи от сотовых и других потаскунчиков.
скорее всего оригинал, т.к. вынимал с телефона, а следов замены не видно было, да и по качеству подсветки намного лучше.


