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

Atmega8A - Nokia 5110 SPI, brak odpowiedzi wyświetlacza, świecą tylko LEDy

morchior 19 Lut 2016 16:55 1746 6
REKLAMA
  • #1 15451173
    morchior
    Poziom 8  
    Witam,

    Sprawa ma się następująco. Staram się podłączyć wyświetlacz od Nokii 5110 model PCD8544. Używam Atmega8A i zasilam ją 5V. Wyświetlacz zasilam 3V(z hakiem). Staram się wykorzystać sprzętowe SPI przy czym używam ISP do programowania mikrokontrolera dlatego skorzystałem z rady z tego linku: http://mikrokontrolery.blogspot.com/2011/05/interfejs-spi-sprawa-isp.html
    Niestety mimo zastosowania rezystora podciągającego linię SS(PB2) wyświetlacz nadal nie odpowiada. Świecą się tylko Ledy przy nim. Wyświetlacz jest nowy. Programator działa i programuję mikroprocesor.

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

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

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

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


    Wywala też błąd przy kompilacji, że 'waitImage' jest niezadeklarowany ale przy zakomentowaniu kodu odpowiedzialnego za bitmapę, kompiluję się a statycznych napisów też nie wyświetla.
    Atmega8A - Nokia 5110 SPI, brak odpowiedzi wyświetlacza, świecą tylko LEDy Atmega8A - Nokia 5110 SPI, brak odpowiedzi wyświetlacza, świecą tylko LEDy
  • REKLAMA
  • #2 15451217
    grko
    Poziom 33  
    Twój program jest za długi. Skróć go do najkrótszej postaci w której problem występuje. Użyj odpowiedniego syntax na forum. Sformatuj odpowiednio kod. Tak na szybko to takie wywołanie:

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


    Nie ma prawa działać. Przekazujesz pointer na pamięć programu a w ciele funkcji traktujesz go jakby był z pamięci w pamięci RAM.
  • REKLAMA
  • Pomocny post
    #3 15452407
    rafalp206
    Poziom 11  
    Nie tak dawno też nieco walczyłem z tym wyświetlaczem. Wyświetlacz fajny ale potrafi być oporny :D Trochę czasu musiałem na niego poświęcić żeby ruszył... Biblioteki które można znaleźć na necie nie zawsze działają.

    Miałem podobny problem. Rozwiązaniem okazało się wysyłanie odpowiednich komend do sterownika. U mnie działało dla takiej konfiguracji:
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    W trakcie pracy zdarzało się też co jakiś czas przygasanie wyświetlacza. Pomogła wymiana kondensatora pomiędzy Vout a GND na tantalowy, dałem 10uF (można tam zastosować 1-10uF)
  • REKLAMA
  • #4 15454180
    morchior
    Poziom 8  
    No to krócej. Próba zwykłego wyświetlenia stringa.
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    GrzegorzKostka. Biblioteki sam nie pisałem, więc nie wiem ale z tego co znalazłem w necie, to osoby używały tej funkcji właśnie do wyświetlania. Mówiąc pointer masz na myśli wskaźnik tak? Obrazek czy też wyświetlane stringi będą się znajdowały we Flashu.

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

    rafalp206. Mógłbyś załączyć bibliotekę z której korzystałeś? Chciałbym mieć coś pewnego, bo sam nie wiem czy problem leży po stronie programu czy może sprzętu.

    Próbowałem zamienić RST na PB4 zamiast PB1, niektórzy bowiem mieli problem z współpracą tego pinu z Resetem, ale to nic nie dało. Oczywiście zamieniałem też definicję w pcd8544.h ,który załaczyłem wam wcześniej.
    Wkradł się też błąd w pierwszym schemacie. SCLK podłączone do PB5.
  • REKLAMA
  • #5 15457602
    morchior
    Poziom 8  
    Biblioteka od rafalp206 niestety nie pomogła. Czy ktoś ma jakikolwiek pomysł o co może chodzić? Czy problemem może być fakt, że Atmege zasilam 5V, a wyświetlacz 3,3V?

    Konfiguracja na moje oko wygląda ok. Linię SS polaryzuję opornikiem 10k (a właścicie dwoma 20k połączonymi równolegle) przez 5V.

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


    Dodatkowo powiem, że przez przypadek dotknąłem palcem programatora USBasp i moim oczom po raz pierwszy ukazało się cokolwiek na ekranie. Także chyba jakakolwiek komunikacja jest i wyświetlacz nie jest uszkodzony.
    Atmega8A - Nokia 5110 SPI, brak odpowiedzi wyświetlacza, świecą tylko LEDy
  • #6 15457918
    rafalp206
    Poziom 11  
    Podłączenie pinów wydaje się OK. Próbowałeś po zaprogramowaniu odłączyć programator? Stosujesz jakiś konwerter napięć 5V -> 3.3V?
  • #7 15458018
    morchior
    Poziom 8  
    Próbowałem niestety nic to nie daje.
    3.3 V dzięki rezystorowi 330 omów i Diodzie Zenera 3V3. Tak jak widać na tym przykładowym schemacie(nie moim).

    Atmega8A - Nokia 5110 SPI, brak odpowiedzi wyświetlacza, świecą tylko LEDy

    Multimetr pokazuję 3.4 V ale to nie powinno robić różnicy, bo wiele osób zasila go 5V i też chodzi( chodź prawdopodobnie krócej :P ).

    Dodano po 4 [godziny] 30 [minuty]:

    Wszystko gra. Dziękuję rafalp206 za poświęcony mi czas i udostępnioną bibliotekę. Pierwsza załączona biblioteka też działa :)
    Okazało się, że przysłali mi Atmege8 zamiast 8A. Jako że są do siebie bardzo podobne, to się wcześniej nie połapałem. Eh... życie :)
    Temat do zamknięcia.
REKLAMA