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

[Atmega16][C] RKlibAVR - LCD raz jeszcze

kwikam 10 Lis 2008 00:56 1491 5
REKLAMA
  • #1 5720807
    kwikam
    Poziom 10  
    Witam

    Mam taki dziwny problem. Skusiła mnie biblioteka Rafała Krzysztofa i chcąc sprawdzić jej działanie skompilowałem program lcdtest.c. W oryginalnym pliku makefile programu do obsługi LCD zmieniłem tylko częstotliwość taktowania: z 16 na 8MHz. Po wgraniu do uC (Atmega16L) LCD inicjalizuje się poprawnie i raz na ok 15-20sec wykonuje komendę "kursor 2 razy w prawo 2 razy w lewo". Zgodnie z kodem programu miał on wyświetlać nieco więcej rzeczy w tym tablicę znaków i inne fajerwerki.. Hmm..

    Może ktoś jest w stanie dociec co jest nie tak?

    Używam WinAVR 20080610, wyświetlacz to standardowy 2x16, uC j.w.

    Z góry dzięki (thank you from the mountain)
  • REKLAMA
  • #2 5725392
    Seba319
    Poziom 24  
    W pliku "makefile" zmien makro "F_CPU" z 16000000 na 8000000, ponieważ po zmianie częstotliwości zmieniłeś czas trwania cyklu zegarowego a co za tym idzie opóźnienia wymagane do prawidłowej pracy LCD. Podejrzewam że właśnie to jest przyczyną twojego problemu.
  • REKLAMA
  • #3 5725609
    kwikam
    Poziom 10  
    Niestety to nie to. Wartość F_CPU zmienia się w pliku config.h co uczyniłem. Poza tym wyświetlacz wykonuje wszystkie polecenia związane z przemieszczaniem kursora zgodnie z zadanymi opóźnieniami.

    Może funkcja LCD_putchar(char ch) z biblioteki rklibavr_20060316 zawiera jakieś błędy?
  • REKLAMA
  • #4 5725652
    Seba319
    Poziom 24  
    Niestety tego nie wiem i nie bardzo mam teraz czas żeby ją dla Ciebie sprawdzić. Też miałem kiedyś problemy z biblioteką do obsługi LCD (jednak nie pamiętam kto był jej autorem), więc w końcu postanowiłem sam napisać własną bibliotekę, którą powoli rozbudowuje.

    PS Może problem nie tkwi w bibliotece czy samym programie, tylko w podłączeniu wyświetlacza? W jakim trybie pracuje? Jeśli w trybie 4-bit to porty LCD od D0 do D3 (piny od 7 do 10) powinny być połączone do masy. Wejście R/W prawdopodobnie też powinno być dołączone do masy jeśli dane nie są odczytywane. Zerknij na ten schemat, poszykaj też na tej stronce informacji może to Ci coś rozjaśni.
  • REKLAMA
  • #5 5729983
    kwikam
    Poziom 10  
    wszystko jest podłączone ok sprawdzałem parę razy. Darowałem temat i używam innej biblioteki, wszystko działa także sprzęt jest ok. W sumie szkoda bo biblioteka Roberta jest bardzo dobrze opisana..

    Dzięki za podpowiedzi
  • #6 5730685
    Seba319
    Poziom 24  
    Można by ją poprawić jednak czas na to miał bym dopiero bliżej świąt. Mimo to możesz podesłać link do tej biblioteki, może błąd da sie łatwo poprawić.

    Pozdrawiam.
REKLAMA