Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту


 
Опции темы
Непрочитано 26.06.2018, 02:04  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию ILI9341 + stm32f103c8t6

Здравствуйте. Пробую запустить этот дисплей ILI9341. Но на дисплее не написано кто он, но он точно такой как Adafruit ILi9341. Красная плата сзади и с SD Card. Может кто запускал это помогите плиз. Вот Написал код чтоб считать ID дисплея но читает 0х45454545.

Запускаю без FSMC так как ее там нет и не работал с ней пока. Запускаю по 8-битной шине... SPI нет
Вложения:
Тип файла: rar ILI9341.rar (2.1 Кб, 0 просмотров)
Реклама:
miwutka вне форума  
Непрочитано 26.06.2018, 03:27  
CERGEI1982
Почётный гражданин KAZUS.RU
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию Re: ILI9341 + stm32f103c8t6

Как вам такое,подороже но с gui
https://www.youtube.com/watch?v=dZVb...m6N1l_hxTsUIlS
__________________
Глаза боятся,а руки делают.

Последний раз редактировалось CERGEI1982; 26.06.2018 в 03:58.
CERGEI1982 вне форума  
Сказали "Спасибо" CERGEI1982
miwutka (26.06.2018)
Непрочитано 26.06.2018, 06:41  
ampy
Гражданин KAZUS.RU
 
Регистрация: 22.07.2007
Адрес: Владивосток
Сообщений: 984
Сказал спасибо: 435
Сказали Спасибо 375 раз(а) в 197 сообщении(ях)
ampy на пути к лучшему
По умолчанию Re: ILI9341 + stm32f103c8t6

Я так и не смог добиться от 9341 его идентификатора.
Не поленился нашел рар и распаковал Ваш архив.
Это вообще не похоже на заклинание инициализации. Вот заклинание:

Код:
void ILI9341_init(void) {
	LCD_IDP=0x9341;
    GPIO_SetBits(GPIOD, GPIO_Pin_7);   //CS
    GPIO_ResetBits(GPIOD, GPIO_Pin_11);//RS
    GPIO_SetBits(GPIOD, GPIO_Pin_4);   //-RD
    GPIO_SetBits(GPIOD, GPIO_Pin_5);   //-RW
	//vci=2.8V

	//Reset LCD Driver
	GPIO_SetBits(GPIOE, GPIO_Pin_1);

	delay_ms(10);

	GPIO_ResetBits(GPIOE, GPIO_Pin_1);

	delay_ms(100);   //this delay time is necessary

	GPIO_SetBits(GPIOE, GPIO_Pin_1);

	delay_ms(100);

	// Îòêðûòü Êðèñòàëë
    Delay(200);
	Delay(200);

    LCD_WR_REG(207);
    LCD_WR_DATA(0);
    LCD_WR_DATA(217);
    LCD_WR_DATA(48);
    Delay(200);
    LCD_WR_REG(237);
    LCD_WR_DATA(100);
    LCD_WR_DATA(3);
    LCD_WR_DATA(18);
    LCD_WR_DATA(129);
    Delay(200);
    LCD_WR_REG(232);
    LCD_WR_DATA(133);
    LCD_WR_DATA(16);
    LCD_WR_DATA(120);
    Delay(200);
    LCD_WR_REG(203);
    LCD_WR_DATA(57);
    LCD_WR_DATA(44);
    LCD_WR_DATA(0);
    LCD_WR_DATA(52);
    LCD_WR_DATA(2);
    Delay(200);
    LCD_WR_REG(247);
    LCD_WR_DATA(32);
    Delay(200);
    LCD_WR_REG(234);
    LCD_WR_DATA(0);
    LCD_WR_DATA(0);
    Delay(200);
    LCD_WR_REG(192);
    LCD_WR_DATA(33);
    Delay(200);
    LCD_WR_REG(193);
    LCD_WR_DATA(18);
    Delay(200);
    LCD_WR_REG(197);
    LCD_WR_DATA(50);
    LCD_WR_DATA(60);
    Delay(200);
    LCD_WR_REG(199);
    LCD_WR_DATA(193);
    Delay(200);
    LCD_WR_REG(54);
    LCD_WR_DATA(8);
    Delay(200);
    LCD_WR_REG(58);
    LCD_WR_DATA(85);
    Delay(200);
    LCD_WR_REG(177);
    LCD_WR_DATA(0);
    LCD_WR_DATA(24);
    Delay(200);
    LCD_WR_REG(182);
    LCD_WR_DATA(10);
    LCD_WR_DATA(162);
    LCD_WR_REG(242);
    LCD_WR_DATA(0);
    Delay(200);
    LCD_WR_REG(38);
    LCD_WR_DATA(1);
    Delay(200);
    LCD_WR_REG(224);
    LCD_WR_DATA(15);
    LCD_WR_DATA(32);
    LCD_WR_DATA(30);
    LCD_WR_DATA(9);
    LCD_WR_DATA(18);
    LCD_WR_DATA(11);
    LCD_WR_DATA(80);
    LCD_WR_DATA(186);
    LCD_WR_DATA(68);
    LCD_WR_DATA(9);
    LCD_WR_DATA(20);
    LCD_WR_DATA(5);
    LCD_WR_DATA(35);
    LCD_WR_DATA(33);
    LCD_WR_DATA(0);
    Delay(200);
    LCD_WR_REG(225);
    LCD_WR_DATA(0);
    LCD_WR_DATA(25);
    LCD_WR_DATA(25);
    LCD_WR_DATA(0);
    LCD_WR_DATA(18);
    LCD_WR_DATA(7);
    LCD_WR_DATA(45);
    LCD_WR_DATA(40);
    LCD_WR_DATA(63);
    LCD_WR_DATA(2);
    LCD_WR_DATA(10);
    LCD_WR_DATA(8);
    LCD_WR_DATA(37);
    LCD_WR_DATA(45);
    LCD_WR_DATA(15);
    Delay(200);
    LCD_WR_REG(17);
    Delay(200);
    Delay(150);
    LCD_WR_REG(41);
    Delay(200);

  {
    unsigned int x, y, c;  
	//ini();

	    LCD_WR_REG(0x2A);
        LCD_WR_Data(0 ›› 8);
        LCD_WR_Data(0 & 0xFF);
        LCD_WR_Data(240 ›› 8);
        LCD_WR_Data(240 & 0xFF);
	    LCD_WR_REG(0x2B);
        LCD_WR_Data(0 ›› 8);
        LCD_WR_Data(0 & 0xFF);
        LCD_WR_Data(320 ›› 8);
        LCD_WR_Data(320 & 0xFF);

    LCD_WR_REG(0x2C);
	for (y=0;y‹320;y++) {
  	  for(x=0;x‹240;x++) {
		c = ((y ›› 3) ‹‹ 5) + (x ››3);
	    LCD_WR_Data(c );
	    LCD_WR_REG(0x3C);
		Delay(10);
	  }
	}
  }
}
ampy вне форума  
Сказали "Спасибо" ampy
miwutka (26.06.2018)
Непрочитано 26.06.2018, 08:36  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: ILI9341 + stm32f103c8t6

Сообщение от CERGEI1982 Посмотреть сообщение
Как вам такое,подороже но с gui
https://www.youtube.com/watch?v=dZVb...m6N1l_hxTsUIlS
Прикольно, но мне надо маленький. Да и другого нет и не хотелось бы ждать новый дисплей...
miwutka вне форума  
Непрочитано 26.06.2018, 08:38  
miwutka
Почётный гражданин KAZUS.RU
 
Регистрация: 05.07.2009
Адрес: Запорожье
Сообщений: 1,531
Сказал спасибо: 309
Сказали Спасибо 53 раз(а) в 48 сообщении(ях)
miwutka на пути к лучшему
По умолчанию Re: ILI9341 + stm32f103c8t6

ampy, попробую ваш инит. Если ваш не заработает значит я гдето еще набокопорил.....
miwutka вне форума  
Непрочитано 26.06.2018, 09:34  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,581
Сказал спасибо: 115
Сказали Спасибо 806 раз(а) в 583 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: ILI9341 + stm32f103c8t6

ampy, как-то у вас через задницу инициализация. Слабо по-человечески сделать? Организуем массив (в данном случае надо добавить еще и задержки) и — вуаля!
Жуткой нечитаемой копипасты не будет. И код меньше будет.
А если еще и сделать это как КА, то и тормозов никаких при инициализации дисплея не будет.
__________________
Смерть бандеровской мразоте!
eddy вне форума  
Непрочитано 26.06.2018, 09:43  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,581
Сказал спасибо: 115
Сказали Спасибо 806 раз(а) в 583 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: ILI9341 + stm32f103c8t6

Сообщение от CERGEI1982 Посмотреть сообщение
https://www.youtube.com/watch?v=dZVb...m6N1l_hxTsUIlS
По ссылке вообще непонятная муть: чувак какую-то программку скачал, нарисовал в ней виджет и тот отобразился на дисплее. И где здесь "урок"? Глянул дальше — подобная лажа.
"учитель", блин! Минусовать его по полной за такие "уроки"...
__________________
Смерть бандеровской мразоте!
eddy вне форума  
Непрочитано 26.06.2018, 10:13  
eddy
Почётный гражданин KAZUS.RU
 
Аватар для eddy
 
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,581
Сказал спасибо: 115
Сказали Спасибо 806 раз(а) в 583 сообщении(ях)
eddy на пути к лучшему
По умолчанию Re: ILI9341 + stm32f103c8t6

Сообщение от STM32F0 Посмотреть сообщение
Не будет
Очень даже будет. Сравни 100500 вызовов функции с изменяющимися параметрами и один вызов этой функции в цикле, где параметры лежат в массиве.
Пример:
Нажмите, чтобы открыть спойлер
Код:
static const uint16_t ILI932x_regValues[] = {
	ILI932X_START_OSC        , 0x0001, // 0x00
	TFTLCD_DELAY             , 100,
	ILI932X_DISP_CTRL1       , 0x0121, // 0x07
	ILI932X_DRIV_OUT_CTRL    , 0x0100, // 0x01
	ILI932X_DRIV_WAV_CTRL    , 0x0700, // 0x02
	ILI932X_ENTRY_MOD        , 0x0030, // 0x03
	ILI932X_RESIZE_CTRL      , 0x0000, // 0x04
	ILI932X_DISP_CTRL2       , 0x0202, // 0x08
	ILI932X_DISP_CTRL3       , 0x0000, // 0x09
	ILI932X_DISP_CTRL4       , 0x0000, // 0x0A
	ILI932X_RGB_DISP_IF_CTRL1, 0x0001, // 0x0C
	ILI932X_FRM_MARKER_POS   , 0x0000, // 0x0D
	ILI932X_RGB_DISP_IF_CTRL2, 0x0000, // 0x0F
	ILI932X_POW_CTRL1        , 0x16b0, // 0x10
	ILI932X_POW_CTRL2        , 0x0007, // 0x11
	ILI932X_POW_CTRL3        , 0x0138, // 0x12
	ILI932X_POW_CTRL4        , 0x0b00, // 0x13
	ILI932X_POW_CTRL7        , 0x0000, // 0x29
	TFTLCD_DELAY             , 200,
	ILI932X_FRM_RATE_COL_CTRL, 0x0000, // 0x2B  (100Hz)
	TFTLCD_DELAY             , 50,
	ILI932X_GAMMA_CTRL1      , 0x0000, // 0x30
	ILI932X_GAMMA_CTRL2      , 0x0000, // 0x31
	ILI932X_GAMMA_CTRL3      , 0x0000, // 0x32
	ILI932X_GAMMA_CTRL4      , 0x0206, // 0x35
	ILI932X_GAMMA_CTRL5      , 0x0808, // 0x36
	ILI932X_GAMMA_CTRL6      , 0x0007, // 0x37
	ILI932X_GAMMA_CTRL7      , 0x0201, // 0x38
	ILI932X_GAMMA_CTRL8      , 0x0000, // 0x39
	ILI932X_GAMMA_CTRL9      , 0x0000, // 0x3C
	ILI932X_GAMMA_CTRL10     , 0x0000, // 0x3D
	ILI932X_GRAM_HOR_AD      , 0x0000, // 0x20
	ILI932X_GRAM_VER_AD      , 0x0000, // 0x21
	ILI932X_HOR_START_AD     , 0x0000, // 0x50
	ILI932X_HOR_END_AD       , TFTWIDTH-1, // 0x51
	ILI932X_VER_START_AD     , 0x0000, // 0x52
	ILI932X_VER_END_AD       , TFTHEIGHT-1, // 0x53
	ILI932X_GATE_SCAN_CTRL1  , 0x2700, // 0x60
	ILI932X_GATE_SCAN_CTRL2  , 0x0001, // 0x61
	ILI932X_GATE_SCAN_CTRL3  , 0x0000, // 0x6A
	ILI932X_PANEL_IF_CTRL1   , 0x0010, // 0x90
	ILI932X_PANEL_IF_CTRL2   , 0x0000, // 0x92
	ILI932X_PANEL_IF_CTRL3   , 0x0003, // 0x93
	ILI932X_PANEL_IF_CTRL4   , 0x0110, // 0x95
	ILI932X_PANEL_IF_CTRL5   , 0x0000, // 0x97
	ILI932X_PANEL_IF_CTRL6   , 0x0000, // 0x98
	TFTLCD_DELAY             , 50,
	ILI932X_DISP_CTRL1       , 0x0133, // 0x07
};

uint16_t LCD_init(){
	LCD_read_id();
	if(LCD_id › 0x931f && LCD_id ‹ 0x932a){ // 932x
		int i, s = sizeof(ILI932x_regValues)/sizeof(uint16_t);
		for(i = 0; i ‹ s;){
			uint16_t a = ILI932x_regValues[i++];
			uint16_t b = ILI932x_regValues[i++];
			if(a == TFTLCD_DELAY) Delay(b);
			else write_reg(a, b);
		}
		uint16_t addr;
		for(addr = 0x80; addr ‹ 0x86; ++addr)
			write_reg(addr, 0);
	}
	return LCD_id;
}

Но это — через задницу, потому что задержки очень большие при инициализации. Надо делать конечным автоматом.
// что за идиотский здесь движок, который не сворачивает длинные блоки кода? Я для ЛОРа подобный функционал черт-те когда реализовал в юзерскриптах.
__________________
Смерть бандеровской мразоте!
eddy вне форума  
Непрочитано 26.06.2018, 10:13  
Easyrider83
Гуру портала
 
Аватар для Easyrider83
 
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 918
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
Easyrider83 на пути к лучшему
По умолчанию Re: ILI9341 + stm32f103c8t6

Нет смысла заколдовывать дисплей, если нет рабочего интерфейса. Пока не получите верный ID, не теряйте время с чужими портянками говнокода.
Easyrider83 вне форума  
Непрочитано 26.06.2018, 10:16  
ampy
Гражданин KAZUS.RU
 
Регистрация: 22.07.2007
Адрес: Владивосток
Сообщений: 984
Сказал спасибо: 435
Сказали Спасибо 375 раз(а) в 197 сообщении(ях)
ampy на пути к лучшему
По умолчанию Re: ILI9341 + stm32f103c8t6

Сообщение от eddy Посмотреть сообщение
ampy, как-то у вас через задницу инициализация. Слабо по-человечески сделать?
Это из примера к плате. Работает - не трогаю. Инициализация дело темное... Исследованию не подлежит. Да и вообще давно не брал в руки эту плату... Код особо меньше не будет (в смысле места занимать во флеши). Может и больше стать.

Там если переделывать то всё... Я только комменты с китайского перевел (не тут а в других местах).

В конце в скобках кажется уже идёт заполнение экрана.

А с идентификатором смешно было: скомпилированный код примера не работал - идентификатор дисплея не читался. Пришлось дизассемблировать прошивку, обнаружить там жестко прописанный тип дисплея, ну и прописать его в исходник. Перед этим понятно все мыслимые способы пробовались считать этот код... В общем лучше его знать заранее.

Последний раз редактировалось ampy; 26.06.2018 в 10:43.
ampy вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ili9341 SPI dimdidim ARM 35 02.12.2018 20:29
Дисплей ILI9341 на STM32F429 по SPI radian ARM 4 12.11.2017 05:55
Продам три дисплея 3,2" ILI9341 AndrFV Барахолка электронных компонентов 2 19.09.2017 09:43
поворот графических элементов на любой градус ILI9341, stm32 dimdidim ARM 17 17.09.2016 21:06
STM32F103C8T6 Таймер и прерывание по окончании счета zeon13 ARM 13 23.08.2016 09:18


Часовой пояс GMT +4, время: 10:58.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot