Отговори на тема  [ 11 мнения ] 
Дисплейче ssd1306 пали само след ресет 
Автор Съобщение
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 11:32 am
Мнения: 7886
Местоположение: София
Мнение Дисплейче ssd1306 пали само след ресет
Закачил съм едно ssd1306 за STM32F103 по I2C. Като пусна захранването - не свети. Като натисна ресет бутончето - светва. Какво пропускам? :)


Чет Окт 20, 2022 6:51 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Чет Фев 03, 2005 1:21 am
Мнения: 10614
Местоположение: София
Мнение Re: Дисплейче ssd1306 пали само след ресет
При първоначално пускане не изчакваш докато се установят захранванията?


Чет Окт 20, 2022 7:07 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 11:32 am
Мнения: 7886
Местоположение: София
Мнение Re: Дисплейче ssd1306 пали само след ресет
itso.t написа:
При първоначално пускане не изчакваш докато се установят захранванията?


Ми не знам кво значи това, пробвал съм го на лабораторното. :)


Чет Окт 20, 2022 7:18 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Юни 03, 2005 8:39 pm
Мнения: 1971
Мнение Re: Дисплейче ssd1306 пали само след ресет
Когато си пуснеш програмата стъпка по стъпка през debugger-а светва ли? Кога?

_________________
Определянето стойността на дадена величина се нарича ИЗМЕРВАНЕ!


Чет Окт 20, 2022 7:28 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 11:32 am
Мнения: 7886
Местоположение: София
Мнение Re: Дисплейче ssd1306 пали само след ресет
syscop написа:
Когато си пуснеш програмата стъпка по стъпка през debugger-а светва ли? Кога?


Аз дебъгер не ползвам по принцип. :) А светва като му натъпчеш нещо.
Ама просто му сложих един delay (във вид на размигване на светодиотчето) преди инициализацията на I2C-то и се оправи. Не знам що така му трябва това. :)

Код:
MX_GPIO_Init();

  for(int i=0; i<3; i++)
  {
    HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);
    HAL_Delay(100);
    HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);
    HAL_Delay(100);
  }

  MX_I2C1_Init();


Пет Окт 21, 2022 3:40 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог

Регистриран на: Пет Юни 03, 2005 8:39 pm
Мнения: 1971
Мнение Re: Дисплейче ssd1306 пали само след ресет
Сложи на мястото на цикъла HAL_Delay(1) и виж дали ще работи нормално.

_________________
Определянето стойността на дадена величина се нарича ИЗМЕРВАНЕ!


Пет Окт 21, 2022 7:14 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 11:32 am
Мнения: 7886
Местоположение: София
Мнение Re: Дисплейче ssd1306 пали само след ресет
syscop написа:
Сложи на мястото на цикъла HAL_Delay(1) и виж дали ще работи нормално.


1 не става, минимума е 20. :) Странна работа, явно наистина му трябва време да установи някви неща, я напрежение, я клоци.


Сря Окт 26, 2022 3:02 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Нед Окт 31, 2004 8:19 pm
Мнения: 4410
Местоположение: Stara Zagora
Мнение Re: Дисплейче ssd1306 пали само след ресет
Повечето дисплеи които съм подкарвал са така. В докуменатцията на повечето не е отразено че имат време за инициализация или каквото и да е там. Но съм имал случай с такъв дето иска 100 mS след подаване на захранаването.


Сря Окт 26, 2022 3:07 pm
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Съб Сеп 25, 2004 11:32 am
Мнения: 7886
Местоположение: София
Мнение Re: Дисплейче ssd1306 пали само след ресет
Хубу де, не е болка за умиране. :)


Сря Окт 26, 2022 6:38 pm
Профил
Ранг: Напреднал
Ранг: Напреднал
Аватар

Регистриран на: Съб Май 21, 2016 8:47 pm
Мнения: 476
Местоположение: Бургас
Мнение Re: Дисплейче ssd1306 пали само след ресет
Тъй като и аз съм се сбъсквал с този контролер:
На 27ма страница от чаршафа има процедурата за инициализация при включване на захранването:
Power ON sequence:
1. Power ON VDD
2. After VDD become stable, set RES# pin LOW (logic low) for at least 3us (t1) (4) and then HIGH (logic
high).
3. After set RES# pin LOW (logic low), wait for at least 3us (t2). Then Power ON VCC.(1)
4. After VCC become stable, send command AFh for display ON. SEG/COM will be ON after 100ms
(tAF).

Т.е.: най-малко 3мкс след включване на захранването трябва да се активира RESET пина в ниско ново за поне 3мкс и след това да се върне във високо ниво.
По т.4- аз специално включвам дисплея чак след 1/3 сек.

Ползвах ето такъв дисплей, но се отказах от него, защото се оказа, че цветните са по-евтини, и друго си е шареното. Единствения недостатък на цветния е, че се инициализира половин секунда.
Все пак съм предвидил място на платката и за двата.


Прикачени файлове:
tester_Screen.jpg
tester_Screen.jpg [ 121.3 KiB | Прегледано 1278 пъти ]
Чет Окт 27, 2022 9:29 am
Профил
Ранг: Форумен бог
Ранг: Форумен бог
Аватар

Регистриран на: Вто Юни 07, 2005 5:20 pm
Мнения: 3227
Мнение Re: Дисплейче ssd1306 пали само след ресет
Абе най-важното според мен е да удариш един хубав ресет на дисплея, по възможност от микроконтролера, не независимо. И после да го изчакаш малко.


Чет Окт 27, 2022 2:23 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 11 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: Google [Bot] и 3 госта


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

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни