Перейти к содержанию
    

ЖКИ с контроллером S1D13700

Есть ЖКИ 320х240 с контроллером S1D13700 и есть связанная с ним проблема. Заключается в том, что нужно делать две инициализации подряд, чтобы ЖКИ начал жить нормально иначе синий экран. Может кто встречался с такой проблемой или слышал как решить? Программно уже почти все перепробовал, даже не знаю на что грешить. Заранее всем спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Тема конечно старая...но проблема новая, по крайней мере для меня...только вот связался с этим самым контроллером. Точнее с дисплее Powertip PG320240WRF-DE9-H. Неделю уже пытаюсь его как-то оживить...никак. Может кто поможет!? Хоть примером инициализации или советом хотябы?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть ЖКИ 320х240 с контроллером S1D13700 и есть связанная с ним проблема. Заключается в том, что нужно делать две инициализации подряд

Нужно делать одну инициализацию, но по даташиту:) Надо соблюдать временные праметры сигнала reset при инициализации и всё будет в порядке.

 

Может кто поможет!? Хоть примером инициализации или советом хотябы?

Начните с резета. Напишите тестовую программу в которой резет генерится в цикле с интервалом пару секунд. Если с резетом всё ок, вы это увидите:). Ну а дальше инициализацию делайте строго по даташиту и всё будет ок. Учтите, что отображается только активная страница.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо всем кто откликнулся в прошлый раз. Снова требуется помощ зала... Подружился я с этим контроллером, но только в режиме 1bpp. Когда устанавливаю режим 2bpp, виртуальный экран сжимается весь на левую половину экрана физического, а правая пустая становится. Думаю это из-за конфигурационных байт, которые после комманды SYSTEM SET пишутся. В даташите ничего не понял кроме того что установили режим градации серого и все у вас в шоколаде. Долго лазил в и-нете, но ничего внятного не нашел, все его используют почему-то в однобитном режиме. Нашел один загнивающий форум вражеский, там было написано что нада параметры изменить в двух из этих байтов. Заменил в одном - стал показывать одинаковые картинки и слева и справа. Заменил во втором - у меня изображение еще и по вертикали сжалось. И все... Это меня вообще высадило в недоумение. Может кто знает как с этим бороться или ссылочку, или пример инициализации в режиме 2bpp?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В таком режиме я его честно говоря не пускал, потому что тогда надо было бы весь интерфес переделывать. Может в пятницу попробую ради интереса :)

 

Судя по даташиту режимах не 1bpp:

1. Умеет работать в следующих конфигурациях:

    -текстовый режим:
         40column x 30rows (2bpp);
         30column x 20rows (4bpp);
    -графический режим:
         320x240 (2bpp);
         240x160 (4bpp);

2. Обязательно инициализировать FX=7;

3. Не работают функции скроллинга;

4. CR рассчитывать по формуле CR = (panelWidht / 8) * Bpp, т.е. для 2bpp его необходимо увеличить в два раза, а для 4bpp в 4 раза;

5. Иметь ввиду, что если в режиме 1bpp страница занимала Xбайт, то в режиме 2bpp - 2*Xбайт, судя по вашему описанию проблема может заключаться именно в неправильной конфигурации размеров страниц.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Попробуй пожалуйста. Вот пример моего кода инициализации для сравнения.

 

lcd_wr_cmnd(SYSTEM_SET);
delay_us(30);
lcd_wr_data(0x30);
lcd_wr_data(0x87);
lcd_wr_data(0x07);
lcd_wr_data((2*(LCD_X_SIZE / 8)) - 1);
lcd_wr_data(81);
lcd_wr_data(LCD_Y_SIZE - 1);
lcd_wr_data(LCD_X_SIZE / 8);
lcd_wr_data(0x00);

// Scroll
lcd_wr_cmnd(SET_SCRL_BLOCK);
lcd_wr_data(0x00);
lcd_wr_data(0x00);
lcd_wr_data(LCD_Y_SIZE);
lcd_wr_data(0x60);
lcd_wr_data(0x09);
lcd_wr_data(LCD_Y_SIZE);
lcd_wr_data(0x00);
lcd_wr_data(0x00);
lcd_wr_data(0x00);
lcd_wr_data(0x00);

lcd_wr_cmnd(SET_HOR_SCROLL);
lcd_wr_data(0x00);

lcd_wr_cmnd(SET_OVLAY);
lcd_wr_data(0x01);

lcd_wr_cmnd(DISPLAY_OFF);
lcd_wr_data(0x00);

ClrText();
ClrGraphic();

lcd_wr_cmnd(SET_CUR_ADR);
lcd_wr_data(0x00);
lcd_wr_data(0x00);

lcd_wr_cmnd(SET_CUR_FORMAT);
lcd_wr_data(0x00);
lcd_wr_data(0x00);
    
lcd_wr_cmnd(SET_GRAYSCALE);
lcd_wr_data(0x01);

lcd_on();

Изменено пользователем MSprut

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Дорое время суток! Есть один вопрос...- начал было живить экранчик (PG320240H-P9) с вышеумопянутым контроллером (S1D13700), конечно с начала не получилось, стал разбираться с интерфейсом обмена,командами и т.п., но остановился на самом начале, а именно после ресета экран труп - тыкался осциллографом -на кварце, тактирующем камень,- тишина (постоянный уровень ~2 B). Ежели сlock-ов нет,- контроллер в ауте (естественно все последующие команды он не переваривает). Ресетел по-всякому, даже кнопкой,-тишина. Подскажите пожалуйста, что может быть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...