Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

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

Vader39 19 Mar 2013 22:46 1794 9
  • #1 19 Mar 2013 22:46
    Vader39
    Poziom 9  

    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 ;)

    0 9
  • #2 19 Mar 2013 22:51
    dondu
    Moderator Mikrokontrolery Projektowanie

    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.

    0
  • #3 19 Mar 2013 23:47
    Vader39
    Poziom 9  

    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
    Zaloguj się, aby zobaczyć kod



    i main.c :
    Kod: 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

    0
  • #4 20 Mar 2013 21:06
    excray
    Poziom 39  

    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".

    0
  • #5 20 Mar 2013 21:45
    zumek
    Poziom 39  

    A cóż to za twór :?:

    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  • #6 20 Mar 2013 21:50
    Vader39
    Poziom 9  

    Zwykłe skróty, wszystko jest w define'ach - zaczerpnięte z innej biblioteki.

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Zapomniałem dodać także funkcję wysyłającą dane:
    Kod: c
    Zaloguj się, aby zobaczyć kod

    0
  • #7 20 Mar 2013 22:17
    zumek
    Poziom 39  

    Vader39 napisał:
    Zwykłe skróty...


    Tylko że, "te skróty" NIC NIE ROBIĄ, więc albo je popraw, albo usuń :!:

    0
  • #8 20 Mar 2013 22:48
    Vader39
    Poziom 9  

    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.

    0
  • #9 21 Mar 2013 06:12
    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
    Zaloguj się, aby zobaczyć kod

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


    A tak na marginesie: styl tego kodu, to jest ... 'obraz nędzy i rozpaczy' :(

    0
  • #10 21 Mar 2013 17:04
    Vader39
    Poziom 9  

    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 ;)

    0
  Szukaj w 5mln produktów