logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Jak uruchomić wyświetlacz ILI9325 z procesorem STM32 72MHz?

Majtek 18 Sty 2012 17:15 7429 16
REKLAMA
  • #1 10414969
    Majtek
    Poziom 12  
    Posty: 98
    Witam. mam procesor stm32 i próbuję uruchomić wyświetlacz na sterowniku ILI9325. Walczę już któryś dzień i nie daję rady.
    Procek chodzi na 72mhz.
    Podłączenie wyświetlacza :
    reset pb6
    rd pb7
    rw pb2
    rs pb1
    cs pb0
    linia danych cały port C 0-15
    inicjacja wyświetlacza, nie wiem czy na pewno jest dobra
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    i takie coś nie działa, jakieś sugestie co może być nie tak, bo ja nie mam już pomysłu. po inicjacji wyświetlacza wywołuję czyszczenie z danym kolorem, a on nadal biały.
  • REKLAMA
  • #2 10416128
    stanleysts
    Poziom 27  
    Posty: 838
    Pomógł: 115
    Ocena: 2
    1. wogole Ci sie ten wyswietlacz inicjalizuje? tzn np lekkie podswietlenie, o ile sobie to wejscie ustawiles na jedynke. Bo najpierw to trzeba sprawdzic z inicjalizacja.
    2 druga sprawa, czy masz wogole mozliwosc taka zeby w taki sposob podlaczyc ten wyswietlacz, pytam bo ja np mialem taki ze do mojego zestawu on byl tak dostosowany ze tylko przez scisle okreslone piny sie mogl komunikowac.
    3. Lcd_Register_WR() w jaki sposob Ci to dziala, chyba troche niepoprawnie? (fakt nie zauwazylem tego ze ona jest tam podana) Jesli przez FSMC to pewnie jak wiekszosc przykladow masz FSMC zle dostrojone.
  • #3 10416586
    Majtek
    Poziom 12  
    Posty: 98
    funkcja Lcd_Register_WR() jest podana w kodzie, jest bez FSMC, tylko proste ustawianie bitów.
    Zadnego rozjaśnienia na ekranie nie widzę, a wyświetlacz jest z allegro był dostosowany pod avr Wyświetlacz 3.2" TFT ( Arduino - compatible) czy coś takiego
  • #4 10416888
    ziajek00
    Poziom 12  
    Posty: 44
    Pomógł: 2
    Mam zestaw z takim wyświetlaczem, niestety nie miałem potrzeby używania go więc nie wgłębiałem się zbytnio w zagadnienie a próby uruchomienia na "szybko" nie przyniosły rezultatu.

    Dołączam natomiast kod, który został dostarczony z zestawem, może w czymś Ci pomoże, albo da jakiś pogląd. Schemat obrazuje połączenie.

    pzdr.
    Załączniki:
    • LCD_Driver.rar (88.25 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #5 10417113
    stanleysts
    Poziom 27  
    Posty: 838
    Pomógł: 115
    Ocena: 2
    moze piny GPIO masz zle ustawione, chocby im jakiegos zegara brakuje i wogole nie dziala to.

    1. w Init() bym na poczatku ustawil inaczej poczatkowe ustawienia. TZN: CS=1 RST=0 RD=1 WR=1 , RS dowolne.

    2. w Lcd_Register_WR() napisalbym tak: CS=0, RS=0, wpis nr indexu , WR=0, WR=1, RS=1, wpisz dana, WR=0, i powrot do ustawien default (patrz inicjalizacja).

    A i jeszcze zalezy jak Ci dziala Lcd_Magist_Dane_WR()

    i na poczatku o ile inicjalizacja jest poprawna ;/ (nie chce mi sie sprawdzac zawartosci tych rejestrow) to sporboj jakis pojedynczy pixel czy cos najprostszego wyswielic na poczatek.

    jakby co to mam inicjalizacje dzialajaca wiec PM i moge podeslac, pzdr
  • #6 10417253
    Majtek
    Poziom 12  
    Posty: 98
    działa tak, najprościej jak się da.
    jutro popatrzę, dzisiaj już nie mam siły.
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • #7 10418716
    Electix
    Poziom 21  
    Posty: 462
    Pomógł: 46
    Ocena: 6
    Pozwólcie Panowie że podłączę się do tematu. Otóż ja posiadam dwa wyświetlacze TFT 3,2" z panelem dotykowym. Jeden z nich to HY32D od zestawu HY-Mini STM32V, a drugi nie ma oznaczenia, ma wbudowany slot na kartę SD. Pierwszy moduł jest ze sterownikiem SSD1289 a drugi z SSD1298. Na płytkach które dostałem do tych sprzętów niby jest dokumentacja, ale albo po chińsku, albo same pliki źródłowe. Czy obsługa obu tych wyświetlaczy jest podobna. lub kompatybilna z ILI9325? Czy ktoś ma jakieś doświadczenia ze wspomnianymi wyświetlaczami?
  • REKLAMA
  • #8 10418791
    Majtek
    Poziom 12  
    Posty: 98
    mój też właśnie ma wbudowany slot na kartę SD. złącze 40 pinowe. 16bitowa magistrala, karta SD sterowana po spi tak samo sterownik dotykowy. I nadal walczę z uruchomieniem :(
  • #9 10418963
    Electix
    Poziom 21  
    Posty: 462
    Pomógł: 46
    Ocena: 6
    Tak zacząłem kopać po necie i na podstawie kilku stron:

    Link 1
    Link 2

    Można by wysnuć tezę, że wspomniany w temacie sterownik ILI9325 i wspomniane przeze mnie SSD1289 i SSD1298 są ze sobą kompatybilne jeżeli chodzi o oprogramowanie. A to lista wszystkich kompatybilnych driverów:

    S6D0129 + HX8312 LCD / TFT controller families
    (S6D0129, FSA506, HX8312, HX8325, HX8345, HX8346, HX8347, HX8353, ILI9340, ILI9341, ILI9163, ILI9320, ILI9325, ILI9328, ILI9331, ILI9335, ILI9221, ILI9222, ILI9225, LGDP4524, NT39122, OTM2201, OTM3225, R61505, R61506, R61509, R61580, S6B33BF, S6D0144, S6E63D6, SEPS525, SPFD54126, SPFD5408, SPFD5420, SSD2119, SSD1355, SSD1298, SSD1289, SSD1288, SSD1286, SSD1285, SSD1284, SSD1283, S1D13517, S1D13742, S1D13743, SSD1960, SSD1961, SSD1962, SSD1963, ST7628, ST7773, ST7735, ST7787, TL1771, UC1682, UC1697, UC1698)

    Ale nie mogę jakoś do końca tego wszystkiego ogarnąć. Skąd taka duża ilość tych driverów i czy aby na pewno jest tak z tą kompatybilnością? Czy te układy różnią się między sobą tylko ilością np pamięci, czy możliwością obsługi większych lub mniejszych matryc? No i czy każdy z interfejsów, jeżeli jest kompatybilny programowo, czy może być identycznie inicjalizowany (czasy, kolejność komend etc)?
  • #10 10419652
    Majtek
    Poziom 12  
    Posty: 98
    Coś się dzieje. mignął mi wyświetlacz, przyciemnił się i rozjaśnił.
    znalazłem jeden błąd, ale bardzo poważny. Ustawiałem flagę zapisu do wyświetlacza, a potem wysyłałem dane na magistrale. A wyświetlacz czyta dane na opadającym zboczy impulsu sterującego, więc nie miał prawa nic odczytać. teraz dane wysyłam wcześniej potem ustawiam flagę odczytu. i coś się tam dzieje, wygląda jak by się zainicjował. Ale nadal biały ekran. Idę walczyć dalej.
  • #11 10420658
    stanleysts
    Poziom 27  
    Posty: 838
    Pomógł: 115
    Ocena: 2
    no to jest to co ja Ci pisalem ze masz zle, pozatym zgodnie z prosba podeslalem moja inicjalizacje na PM
  • #12 10422343
    Majtek
    Poziom 12  
    Posty: 98
    nadal nie działa. Pojawiły się kolorowe linie poziome. na tym kodzie inicjacji co podałeś nic nie działa. Z braku pomysłów rozebrałem go. okazało się, że na tasiemce ma napisane SSD 1289. znalazłem pdf do tego sterownika i spróbuję według niego go zainicjować. A jak go kupowałem pisali, że sterownik to HX8347-A. potem w pdf załączonym do wyświetlacza, że ILI9325. A po rozebraniu okazało się, że SSD1289. Czyli wychodzi że to to samo, tylko inaczej może się inicjować.
  • #13 10423399
    stanleysts
    Poziom 27  
    Posty: 838
    Pomógł: 115
    Ocena: 2
    No ale to ze sie cos pojawilo na wyswietlaczu to i tak sukces bo widac ze chociaz wyswietlacz powstal. U mnie incjalizacja działa, dodatkowo zauwaz ustawiasz tam tylko wartosci rejestrow w tym co dostales ode mnie, musisz jeszcze ustawic odpowiednio poczatkowe wyprowadzenia pinow inaczej funkcja wpisujaca dane sie pogubi (pisalem o tym wyzej)

    Cytat:
    1. w Init() bym na poczatku ustawil inaczej poczatkowe ustawienia. TZN: CS=1 RST=0 RD=1 WR=1 , RS dowolne.


    mam nadzieje ze o tym nie zapomniales.
  • REKLAMA
  • #14 10423471
    starob
    Poziom 29  
    Posty: 1088
    Pomógł: 128
    Ocena: 137
    Jeśli na pewno masz SSD1289 to powinien być podłączony do FSMC ..to raz .
    W tym sterowniku trzeba zwrócić uwagę na inną funkcje rejestrów. ..szczególnie na rejestry definiujące rozmiar okna i pozycje "kursora". Bo ogólnie krążące biblioteki GLCD dla tego sterownika wymagają lekkiej poprawki.
  • #15 10424381
    Majtek
    Poziom 12  
    Posty: 98
    Wyświetlacz ożył.
    Inicjacja według pdf i jakiegoś kodu do tego sterownika.
    Jak rozumiem jak bym użył FSMC to będę mógł szybciej wysyłać dane do niego. Bo super płynne to to nie jest z porównaniem z filmikami jakie są na youtube.
    Pytanko z innej beczki ile można przetaktować stm32f105 bo mi wychodzi 156mhz. coś mi się wierzyć nie chce.
  • Pomocny post
    #16 10424687
    stanleysts
    Poziom 27  
    Posty: 838
    Pomógł: 115
    Ocena: 2
    Nawet przez FSMC i tak nie bedzie to prawdopodobnie bardzo szybkie (ja osobiscie myslalem ze bedzie mi szybciej dzialac), choc szybsze niz normalny sposob. A taktowanie: zalezy od procka np dla cortex m3 L1 32Mhz F1 72Mhz F2 120Mhz, a F4 168Mhz. I moze lepiej pisac inicjalizacja niz inicjacja :D bo mi się to troche z czym innym kojarzy
  • #17 10523081
    Majtek
    Poziom 12  
    Posty: 98
    załączam 6 sposobów inicjacji wyświetlacza które zrobiłem walcząc z nim. 6 zadziałał :)
    Załączniki:
    • init_wys.txt (20.2 KB) Musisz być zalogowany, aby pobrać ten załącznik.

Podsumowanie tematu

✨ Użytkownik próbuje uruchomić wyświetlacz ILI9325 z procesorem STM32 działającym na 72MHz. Problemy obejmują nieprawidłową inicjalizację oraz błędy w podłączeniu pinów GPIO. W trakcie dyskusji pojawiają się sugestie dotyczące poprawy inicjalizacji, w tym ustawienia początkowe dla pinów CS, RST, RD, WR i RS. Użytkownicy dzielą się doświadczeniami z innymi wyświetlaczami, takimi jak SSD1289 i SSD1298, sugerując ich potencjalną kompatybilność z ILI9325. Po kilku próbach, użytkownik odnajduje poprawny sposób inicjalizacji, co prowadzi do częściowego działania wyświetlacza, jednak nadal występują problemy z płynnością wyświetlania. Wskazówki dotyczące użycia FSMC w celu zwiększenia prędkości komunikacji oraz pytania o możliwości przetaktowania STM32 również są poruszane.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA