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

[Atmega 644 PA] [C] - LCD Nokia 6100, 6010 nie zawsze reaguje

Vader39 19 Mar 2013 22:46 1986 9
REKLAMA
  • #1 12085077
    Vader39
    Poziom 10  
    Witam!

    Mam problem z wyświetlaczem od nokii 6100, 6010. Otóż wyświetlacz działa bardzo dobrze jednak nie zawsze reaguje, problem występuje na początku programu, niekiedy wszystko pięknie działa, a niekiedy lcd pozostaje czarny aż do końca i trzeba kilka/kilkanaście razy resetować układ zanim zaskoczy...
    Prosiłbym o pomoc, ponieważ bardzo trudno jest testować kolejne programy (szczególnie kartę sd na tym samym interfejsie SPI), kiedy nie wiem, czy wyświetlacz nie działa tak od siebie, czy od strony programu.
    Dodam, że lcd jest na sterowniku Philipsa, program napisany w C.

    Pozdrawiam i proszę o szybką pomoc ;)
  • REKLAMA
  • #2 12085101
    dondu
    Moderator na urlopie...
    Witaj.
    Bez schematu i programu to można wróżyć jedynie.
    Niektóre wyświetlacze wymagają opóźnienia po włączeniu zasilania.
    Dodaj może delay np. 50ms na początku programu.

    EDIT:
    Ode mnie 25pkt bo masz jedynie 2.91.
  • REKLAMA
  • #3 12085363
    Vader39
    Poziom 10  
    Dzięki za pkt ;)

    Co do kodu, to daje tutaj tylko najważniejsze funkcje, ponieważ podczas testów zawsze mam okropny 'syf' w plikach.
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod



    i main.c :
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Jest to jeden z kodów, które posiadam. Jeśli natomiast chodzi o schemat to nie ma żadnej filozofii: układ zalilany z 3V3 do tego lcd podpięty bezpośrednio do wyjść SPI atmegii.

    //edit dodałem przed inicjalizacją delay 100 ms i ciągle to samo
  • #4 12089005
    excray
    Poziom 41  
    Vader39 napisał:
    CLK0
    SDA1 //1 for param
    CLK1

    Spróbuj wstawić we wszystkich podobnych miejscach między te linie jakieś opóźnienie. Przynajmniej jeden "nop".
  • #5 12089258
    zumek
    Poziom 39  
    A cóż to za twór :?:

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #6 12089296
    Vader39
    Poziom 10  
    Zwykłe skróty, wszystko jest w define'ach - zaczerpnięte z innej biblioteki.

    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Zapomniałem dodać także funkcję wysyłającą dane:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #7 12089477
    zumek
    Poziom 39  
    Vader39 napisał:
    Zwykłe skróty...


    Tylko że, "te skróty" NIC NIE ROBIĄ, więc albo je popraw, albo usuń :!:
  • #8 12089651
    Vader39
    Poziom 10  
    Tyle, że bez tych skrótów lcd w ogóle nie działa. Jak mówiłem jeśli chodzi o SPI i inicjalizacje to znalazłem to na internecie, postaram się poszukać czegoś innego w takim razie.
  • #9 12090116
    zumek
    Poziom 39  
    Vader39 napisał:
    Tyle, że bez tych skrótów lcd w ogóle nie działa...


    Mi nie chodzi o "skróty" jako takie, ale o konkretny fragment kodu.
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod

    Nie powinno być czasem, jak poniżej :?:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    A tak na marginesie: styl tego kodu, to jest ... 'obraz nędzy i rozpaczy' :(
  • #10 12092158
    Vader39
    Poziom 10  
    Proszę nie osądzać mnie po stylu tego kodu, jak już wcześniej wspominałem całą obsługę SPI i inicjalizacje wyświetlacza znalazłem w internecie, sam wprowadzając tylko drobne poprawki przy inicjalizacji (kwestia kontrastu, kolorów itp)

    Jeśli natomiast chodzi o fragment, który podałeś - spróbowałem zmienić i dalej to samo.

    Dziękuję jednak za wszystkie próby pomocy ;)
REKLAMA