Юзаем дисплеи от сотовых и других потаскунчиков.

Дисплеи, датчики и прочие функциональные узлы, управляемые МК.
Ответить
Открыл глаза
Сообщения: 49
Зарегистрирован: Сб фев 02, 2013 17:20:04
Откуда: Донецк

Сообщение VXXXV »

HHIMERA писал(а):
VXXXV писал(а):заработало, рисует два цветных прямоугольника, блымает
Отсюда
http://vrtp.ru/index.php?showtopic=1120&st=1380#
из архива
http://vrtp.ru/index.php?act=Attach&type=post&id=381312
в файле lcd.c возьмите полную инициализацию дисплея...
К сожалению я в том коде нефирштейн :shock: запаяю новый разъем, начну с просто 0x11 и 0x29 :tea:
Реклама
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Сообщение HHIMERA »

Не-не-не... профилонить не прокатит... :))
Есть дисплеи, где и половины инициализации уже много... а есть - только по полной...
Если у вас дисплей-оригинал, то нужна полная...
"Я не даю готовых решений, я заставляю думать!"(С)
Реклама
Открыл глаза
Сообщения: 49
Зарегистрирован: Сб фев 02, 2013 17:20:04
Откуда: Донецк

Сообщение VXXXV »

Разок он мне мусор показал в той инициализации что давали, вобщем завтра точно покажет. В полной я так понял есть ориентация экрана и цветность, и все?
Последний раз редактировалось VXXXV Пн фев 04, 2013 15:29:52, всего редактировалось 1 раз.
Открыл глаза
Сообщения: 41
Зарегистрирован: Сб окт 29, 2011 21:46:14

Сообщение MaxGoblin »

У меня дисплей завелся, показал разноцветный мусор. Но только есть мерцание как в сети 50, 60Гц. Нарягает сильно, но не могу от него избавиться.
Заметил что при заливка всего экана цветом происходит как то странно, от края экрана и одновременно с середины в одном направлении начинается заливать. Как с этим бороться?
Фото скину вечером если необходимо.
Реклама
Эиком - электронные компоненты и радиодетали
Встал на лапы
Сообщения: 85
Зарегистрирован: Пт фев 01, 2013 17:47:26
Откуда: Украина, Луганская область

Сообщение srg320 »

Для того, чтобы дисплей не мерцал, были нормальные цвета и правильно проходила заливка необходимо провести полную инициализацию дисплея - ещё с десяток регистров прописать.
Реклама
Открыл глаза
Сообщения: 41
Зарегистрирован: Сб окт 29, 2011 21:46:14

Сообщение MaxGoblin »

В инициализации я происал вот так.
Чего сдесь не хватает для полноты?

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);
}
Реклама
Встал на лапы
Сообщения: 85
Зарегистрирован: Пт фев 01, 2013 17:47:26
Откуда: Украина, Луганская область

Сообщение srg320 »

По памяти не помню, буду дома - напишу.
Встал на лапы
Сообщения: 85
Зарегистрирован: Пт фев 01, 2013 17:47:26
Откуда: Украина, Луганская область

Сообщение srg320 »

Вобщем, инициализацию дисплея я выдрал из исходников андроида.
Возможно там что-то лишнее, но я использовал всё как есть.
Вот коды команд:

Код: Выделить всё

#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);

и т.д. следующие команды
Открыл глаза
Сообщения: 49
Зарегистрирован: Сб фев 02, 2013 17:20:04
Откуда: Донецк

Сообщение 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(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);  
Встал на лапы
Сообщения: 85
Зарегистрирован: Пт фев 01, 2013 17:47:26
Откуда: Украина, Луганская область

Сообщение srg320 »

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);
Открыл глаза
Сообщения: 49
Зарегистрирован: Сб фев 02, 2013 17:20:04
Откуда: Донецк

Сообщение VXXXV »

Всеравно без изменений :(
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Сообщение HHIMERA »

"Разделяй и властвуй!"(С)
Оставьте одну только инициализацию (после инициализации вставьте вечный цикл)... или вставьте задержку после инициализации секунд на 5-6-10...
По первому включению должен быть цветной мусор на весь экран, без миганий и прочих артефактов... Если что-то не так, значит смотрите подключение и инициализацию...
Пересброс цветного мусора не даст... только передёргивание по питанию, частенько с паузой между включениями...
"Я не даю готовых решений, я заставляю думать!"(С)
Открыл глаза
Сообщения: 49
Зарегистрирован: Сб фев 02, 2013 17:20:04
Откуда: Донецк

Сообщение VXXXV »

Цветной мусор есть, но когда делаю заливку экрана (любым цветом) то справа выезжают черные квадратики, в самом верху и с середины. Если так залить другой код только с инициалтзацией, квадраты не исчезнут, только если питание секунд на 5 отключить снова весь экран в мусоре.
Открыл глаза
Сообщения: 41
Зарегистрирован: Сб окт 29, 2011 21:46:14

Сообщение MaxGoblin »

Я вот так например провел инициализацию.(Все работает так как надо).

Еще буду пробовать еще кое какие команды из инициализации убрать, чтобы впустую не занималось место.


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.

Может у вас что то не так описано в функции очистки что у вас квадратами рисует.
Друг Кота
Сообщения: 4583
Зарегистрирован: Вс дек 05, 2010 06:10:34
Откуда: ЮВ

Сообщение HHIMERA »

2VXXXV
Если по сбросу цветной мусор заполнил весь экран, значит играйтесь регистром COLMOD(3Ah)...
Попробуйте записать в него или 05H, или 55Н... и заливайте дисплей не 24-бит данными, а 16-бит... по два байта на точку...
F8H и 00H должны давать красный цвет заливки... 00Н и 00Н - чёрный, а FFH и FFH - белый...
"Я не даю готовых решений, я заставляю думать!"(С)
Открыл глаза
Сообщения: 49
Зарегистрирован: Сб фев 02, 2013 17:20:04
Откуда: Донецк

Сообщение VXXXV »

Все перепробывал, когда выводятся другие цвета квадратов, то видно их мерцание. Цвета меняются даже когда другое значение яркости ставлю, в основном черный чаще выскакивает. Может я дисп подпалил немного. Вот фото квадратов
Изображение
Chettuser

Сообщение Chettuser »

Народ, длинные простыни текста можно спрятать под спойлер, например:
Спойлер...текст...
Открыл глаза
Сообщения: 49
Зарегистрирован: Сб фев 02, 2013 17:20:04
Откуда: Донецк

Сообщение VXXXV »

Новый перл от китая. Поехал купил дисплей китайский и шлейф, тоже китайский. Решил востановить телефон, вкинул новый шлейф а телефон фигушки. Пришлось брать выпаивать разъем и впаивать в оригинальный шлейф, после этого телефон ожил. Затем настала очередь дисплея с поднебесной, купленого за 10у.е. Неменяя в инициализации ничего, снова мусор, а при закраске экрана черт знает что. Пробывал разные коды, но результат тот же, на регистр 0х36 полный мороз. Подсветка очень яркая снизу (на фото видно почти белый цвет вместо желтого), вобщем качество г.... Дисплеи нокии те что я брал (тоже китай) по качеству как оригинал, ну а у самсунга...вобщем ложу их на дальнюю полку.
Изображение
Открыл глаза
Сообщения: 41
Зарегистрирован: Сб окт 29, 2011 21:46:14

Сообщение MaxGoblin »

А предыдущий экран который вы подключали тоже китаец?
Открыл глаза
Сообщения: 49
Зарегистрирован: Сб фев 02, 2013 17:20:04
Откуда: Донецк

Сообщение VXXXV »

скорее всего оригинал, т.к. вынимал с телефона, а следов замены не видно было, да и по качеству подсветки намного лучше.
Ответить

Вернуться в «Периферия»