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.

atmega32 - ustawienie stanu na konkretnym pinie

lukasek5 12 Sty 2012 09:36 1242 3
  • #1 12 Sty 2012 09:36
    lukasek5
    Poziom 9  

    Posiadam wyswietlacz graficzny s1d15705 podlaczony do atmegi. Problem polega na tym ze po wystawieniu "0" na dana linie i probie wystawienia czegokolwiek na inna linie "0" zmieni sie zawsze na jedynke. Uniemozliwia to ustawienie odpowiedniej sekwencji bitow na lcd np. RD WR CS 101. Czy mam uszkodzony procesor, czy ja cos robie zle? Dziekuje za pomoc.

    0 3
  • #2 12 Sty 2012 09:39
    sstaniszewski
    Poziom 15  

    Podaj chociaż kawałek kodu .

    0
  • #3 12 Sty 2012 09:57
    hotdog
    Poziom 26  

    pokaż makra do "ustawiania stanu", robi się to tak ustawienie "1":
    PORTD |= (1<<PD0);
    ustawienie "0"
    PORTD &= ~(1<<PD0);

    poczytaj o operacjach bitowych.

    0
  • #4 12 Sty 2012 13:03
    lukasek5
    Poziom 9  

    Cały kod z którego korzystam:

    plik main:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    fukcje obsługi wyświetlacza:
    Kod: c
    Zaloguj się, aby zobaczyć kod


    oraz plik .h biblioteki:
    Kod: c
    Zaloguj się, aby zobaczyć kod


    Próbowałem także zmienić funkcje LCD_init:

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Jak widać w ostatniej funkcji nie działa to tak jak powinno i nie wiem co może być przyczyną.
    Czy problem może leżeć w tym że zmieniłem kolejność linii danych (biblioteka z elektrody)(oczywiście zmieniłem deklaracje w pliku h, ale nic więcej nie robiłem) ?
    Co oznacza LCD_init_GPIO ?

    0