реклама на сайте
подробности

 
 
> LCD + stm32f4 discovery
Utyff
сообщение Jan 10 2017, 11:35
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 17
Регистрация: 29-12-13
Из: St.Petersburg
Пользователь №: 79 852



Как можно определить тип контроллера в LCD?

Когда-то давно прикупил себе такой LCD:

Model Number: TK1105# 2.4" TFT LCD Module Display + Touch Panel Screen
Driver IC: SSD1289 (Note: The old Version <Come with HX8347 Controller> will be out of manufacture)

Сейчас не могу запустить этот дисплей. После инициализации экран чистый, даже не мигает.
Есть подозрение что контроллер не SSD1289. Но как это проверить?
Нашел что: SSD1289 должен вернуть 8989h из регистра 00h, а HX8347 возвращает 47h из регистра 67h.
Проверил оба регистра - возвращают не то.

Запускаю на stm32f4 discovery, светодиоды выпаял, линию от USB PWR fault отключил.
Подключен к FSMC 16bit. Провода по 10 см.
Примеры брал от сюда:
https://hubstub.ru/display/61-podklyuchenie...89-ili9341.html
https://www.element14.com/community/groups/...y-hy32d-tft-lcd

И еще - можете подсказать пример инициализации HX8347?


--------------------
Скудность мысли порождает легионы единомышленников.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
kumle
сообщение Jan 11 2017, 18:36
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 149
Регистрация: 15-12-09
Из: Москва
Пользователь №: 54 280



вобщем у меня возвращает id=0 !
но тем не менее все работает
вот моя инициализация (весь файл прикрепить форум не дает)
CODE
void LCD_Init(void)
{
static uint16_t DeviceCode;
LCD_CtrlLinesConfig();
Delay(3000);
LCD_FSMCConfig();
Delay(3000);
TIM_Config();
LCD_BackLight(0);

LCD_Reset();


DeviceCode = LCD_ReadReg(0x0000);

asm("NOP");
asm("NOP");
asm("NOP");

LCD_WriteReg(0x0000,0x0001); Delay(100);
LCD_WriteReg(0x0003,0xA8A4); Delay(100);
LCD_WriteReg(0x000C,0x0000); Delay(100);
LCD_WriteReg(0x000D,0x080C); Delay(100);
LCD_WriteReg(0x000E,0x2B00); Delay(100);
LCD_WriteReg(0x001E,0x00B0); Delay(100);
LCD_WriteReg(0x0001,0x2B3F); Delay(100);
LCD_WriteReg(0x0002,0x0600); Delay(100);
LCD_WriteReg(0x0010,0x0000); Delay(100);
LCD_WriteReg(0x0011,0x6070); Delay(100);
LCD_WriteReg(0x0005,0x0000); Delay(100);
LCD_WriteReg(0x0006,0x0000); Delay(100);
LCD_WriteReg(0x0016,0xEF1C); Delay(100);
LCD_WriteReg(0x0017,0x0003); Delay(100);
LCD_WriteReg(0x0007,0x0233); Delay(100);
LCD_WriteReg(0x000B,0x0000); Delay(100);
LCD_WriteReg(0x000F,0x0000); Delay(100);
LCD_WriteReg(0x0041,0x0000); Delay(100);
LCD_WriteReg(0x0042,0x0000); Delay(100);
LCD_WriteReg(0x0048,0x0000); Delay(100);
LCD_WriteReg(0x0049,0x013F); Delay(100);
LCD_WriteReg(0x004A,0x0000); Delay(100);
LCD_WriteReg(0x004B,0x0000); Delay(100);
LCD_WriteReg(0x0044,0xEF00); Delay(100);
LCD_WriteReg(0x0045,0x0000); Delay(100);
LCD_WriteReg(0x0046,0x013F); Delay(100);
LCD_WriteReg(0x0030,0x0707); Delay(100);
LCD_WriteReg(0x0031,0x0204); Delay(100);
LCD_WriteReg(0x0032,0x0204); Delay(100);
LCD_WriteReg(0x0033,0x0502); Delay(100);
LCD_WriteReg(0x0034,0x0507); Delay(100);
LCD_WriteReg(0x0035,0x0204); Delay(100);
LCD_WriteReg(0x0036,0x0204); Delay(100);
LCD_WriteReg(0x0037,0x0502); Delay(100);
LCD_WriteReg(0x003A,0x0302); Delay(100);
LCD_WriteReg(0x003B,0x0302); Delay(100);
LCD_WriteReg(0x0023,0x0000); Delay(100);
LCD_WriteReg(0x0024,0x0000); Delay(100);
LCD_WriteReg(0x0025,0x8000); Delay(100);
LCD_WriteReg(0x004f,0);
LCD_WriteReg(0x004e,0);

Delay(100);

}



и у меня еще вывод RESET дисплея подтянут к +3.3V 1ком и подключен к PD12, вывод TP_IRQ к PC1 и вывод BL_CNTL подключен к пину PA8 (TIM1_CH1_PWM)

Сообщение отредактировал kumle - Jan 11 2017, 18:40
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 17th August 2025 - 23:50
Рейтинг@Mail.ru


Страница сгенерированна за 0.02294 секунд с 7
ELECTRONIX ©2004-2016