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

Miganie LCD (podczas czyszczenia lub nadpisania)

-nobile- 28 Lut 2010 21:49 1571 4
REKLAMA
  • #1 7766027
    -nobile-
    Poziom 16  
    W innym dziale nie chcieli mi odpowiedzieć a odpowiedzi nie znalazłem na elektrodzie (chyba ze to inaczej trzeba nazwać), ale do rzeczy:


    Mam problem z migotaniem wyświetlacza podczas pracy programu, i nie wiem jak sie eliminuje ten problem. Widoczne jest migotanie spowodowane czyszczeniem, lub wpisaniem nowego tekstu na LCD (cofnij kursor wpisz nowy tekst). (nie wiem jak się temu zapobiega, podłączenie 8bitami LCD (mam 4 bit)? zwiększenie częstotliwości? ...) Proszę o pomoc.

    PS. Używam bibliotek z mikrokontrolery.net, wyśw 2x16
  • REKLAMA
  • #2 7766096
    tmf
    VIP Zasłużony dla elektroda
    Najpewniej jest ono spowodowane tym, ze kasujesz tlo, a nastepnie wyswietlasz napis. Mozna albo zmodyfikowac wyswietlanie tak, zeby nie bylo wczesniejszego kasowania, ale to wymaga ogolnie sprytnych funkcji graficznych. Albo jesli LCD to wspiera wykorzystywac sygnal tearing, dzieki czemu bedziesz zapisywal do LCD tylko wtedy, kiedy nie jest tworzony obraz. Jesli kontroler LCD ma sporo pamieci to mozesz tez wykorzystac double buffering. Ogolnie napisz cos wiecej o tym LCD.
  • REKLAMA
  • #3 7766227
    michalko12
    Specjalista - Mikrokontrolery
    tmf napisał:
    Najpewniej jest ono spowodowane tym, ze kasujesz tlo, a nastepnie wyswietlasz napis. Mozna albo zmodyfikowac wyswietlanie tak, zeby nie bylo wczesniejszego kasowania, ale to wymaga ogolnie sprytnych funkcji graficznych. Albo jesli LCD to wspiera wykorzystywac sygnal tearing, dzieki czemu bedziesz zapisywal do LCD tylko wtedy, kiedy nie jest tworzony obraz. Jesli kontroler LCD ma sporo pamieci to mozesz tez wykorzystac double buffering. Ogolnie napisz cos wiecej o tym LCD.


    HD44780 :D

    Dodano po 11 [minuty]:

    -nobile- napisał:
    Widoczne jest migotanie spowodowane czyszczeniem lub wpisaniem nowego tekstu na LCD. (nie wiem jak się temu zapobiega, podłączenie 8bitami LCD (mam 4 bit)? zwiększenie częstotliwości? ...) Proszę o pomoc.

    PS. Używam bibliotek z mikrokontrolery.net


    Tworzysz tekst w buforze a następnie bufor wysyłasz bez kasowania do LCD.
    1. Kasujesz bufor
    2. Tworzysz tekst w buforze.
    3. Wysyłasz cały bufor do LCD, bufor musi miec rozmiar taki sam ile znaków ma LCD
  • REKLAMA
  • #4 7766554
    M. S.
    Poziom 34  
    Możesz nadpisywać dowolny fragment wyświetlacza bez wcześniejszego kasowania. Długość tekstu nadpisującego powinna być taka sama jak nadpisywanego. Jak będzie krótsza to pozostaną śmieci.

    Np.

    Temperatura 100C

    Możesz modyfikować sobie samo 100 tyle, że jak będzie 99 to musisz dołożyć spację (albo zero z przodu) inaczej wyjdzie 990 :cry:
  • #5 7766576
    rpal
    Poziom 27  
    no i ten bufor jest większy niż wyświetlana aktualnie wilkość obrazu tzn jeśli masz jednolinijkowy LCD np. 1X20 to bufor ma 40 znaków, 20 na aktulany tekst i 20 na ew. przesówanie tekstu w poziomie. To się podwaja lub mnoży przez 4 dla większej liczby wierszy. POza tym miganie przy operacjach we-wy może wynikać z badziewiastości LCD (po prostu wolny sprzęt) albo masz błędy w obsłudze i robisz coś wielokrotnie nawet o tym nie wiedząc.
REKLAMA