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

Czyszczenie LCD. Czym wyczyścić pojedynczą linię na wyświetlaczu?

adamusx 07 Mar 2006 20:57 3288 3
REKLAMA
  • #1 2387306
    adamusx
    Poziom 27  
    Posty: 977
    Pomógł: 94
    Ocena: 28
    Witam

    Czy wie ktos moze czy mozna wyczyscic pojedyncza linie na wyswietlaczu np 2x16?
    Mam programik ktory wyswietla cos na LCD , z tym ze w gornej lini sa parametry stale ,a w dolnej zmienne ktore chce w miare szybko odsiwerzac i nie cche za kazdym razem czyscic calego wyswetlacza i zapisywac caly tekst na niego bo to spowalnia wyswietlanie danych i powoduje ze widac " mruganie" Czy mozna jakos to rozwiazac ?
  • REKLAMA
  • Pomocny post
    #2 2387362
    Urlyk
    Poziom 13  
    Posty: 37
    Pomógł: 4
    Jeżeli dane są zawsze tej samej dlugości poprostu ustaw kursor na początku 2 lini i wypisz nowe dane. Jeżeli długosci danych są różne musisz te krótkie uzupełnić spacjami.
  • REKLAMA
  • Pomocny post
    #3 2387431
    M. S.
    Poziom 34  
    Posty: 2107
    Pomógł: 259
    Ocena: 680
    Jak wyżej. Poprostu nadpisz tą linię, lub wręcz tekst od odpowiedniego miejsca. Każdy znak ma swój adres w LCD, zatem każdy znak z osobna lub tekst można modyfikować bez czyszczenia całości. W Bascomie używa się instrukcji Locate y, x do ustawiena adresu pierwszego wpisywanego znaku. W C potrzebna jest funkcja. Np. taka:

    void locate(char y, char x)
    {
    	switch (y) // obliczenie o ile nalezy zwiekszyc x w zaleznosci od wartosci y
    	{
    		case 1:
    		x += 0x7F; // x = x + 0x80 - 1
    		break;
    		case 2:
    		x += 0xBF; // x = x + 0xC0 - 1
    		break;
    		case 3:
    		x += 0x9F; // x = x + 0xA0 - 1
    		break;
    		case 4:
    		x += 0xDF; // x = x + 0xE0 - 1
    		break;
    	}
    write_command(x);
    }


    W efekcie trzeba ją wywołać (podobnie jak w Bascomie)



    gdzie y to linia (od 1 do 4), a x to kolumna (od 1 do 20 lub 40 zależy od wyświetlacza)
  • #4 2387629
    adamusx
    Poziom 27  
    Posty: 977
    Pomógł: 94
    Ocena: 28
    Faktyczne, ale ja glupi jestem :) Na poczatku wpadlem na ten pomysl ,ale w sumie stwierdzilem, ze jak wyswietle cos bez czyszczenia to sie po prostu nalozy i nawet tego nie przetestowalem :)
    W C mam funkcje wyswietlania na LCD i napisalem juz funkcje wybierania pozycji x,y .
REKLAMA