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

Jak wyświetlić płynnie przesuwający się tekst na LCD 16x2 w Bascomie?

kozunami 28 Paź 2008 13:57 1585 2
REKLAMA
  • #1 5675865
    kozunami
    Poziom 12  
    Posty: 94
    Pomógł: 1
    Ocena: 1
    Witam!
    Projektuje domofon, a raczej przerabiam stary. Jednym z jego elementów będzie wyświetlacz LCD 16x2 , na którym to chciałbym wyświetlać dane o mieszkańcach. Imię nazwisko, adres zamieszkania, ale w sposób ciągły. To znaczy planuje zrobić to w ten sposób aby tekst przesuwał się z prawej do lewej, ale nie w paczkach danych jak to ma miejsce przy użyciu np shiftleft tylko bez przerw na wyświetlaczu podczas wyświetlania tekstu.Tak jak na reklamach na tablicach led. Próbowałem to zrobić ale strasznie komplikowało to program i nie mieściłem się w pamięci procka. Czy ktoś z Was robił coś takiego, może posiadacie bardziej zoptymalizowany kod? I jeszcze jedno pytanie czy jest jakiś odpowiednik polecenia cls ale tylko na jedna linie wyświetlacza?
  • REKLAMA
  • #2 5676161
    korrus666
    Poziom 40  
    Posty: 5219
    Pomógł: 584
    Ocena: 476
    Na twoim miejscu zacząłbym od odpowiedniej konfiguracji wyświetlacza. Tam jest opcja pozwalająca na przesuwanie tekstu. Poczytaj sobie o trybach pracy kursora/okna wyświetlacza. Co do czyszczenia jednej linii to zawsze możesz wpisać 16 spacji. No chyba że chcesz przewijać na dwóch wierszach na raz to będzie problem.
  • #3 5676178
    BoskiDialer
    Poziom 34  
    Posty: 1530
    Pomógł: 353
    Ocena: 42
    Będzie problem? Przecież dać prostą tablicę 16 znaków, dać funkcję przyjmującą znak, która przesuwa elementy w tablicy, wstawia znak na koniec oraz przesyła wszystko do wyświetlacza. Wywoływać co jakiś czas tą funkcję przekazując kolejne znaki i już mamy przesuwający się napis. Dać rozróżnienie buforów i już mamy przesuwanie na wielu liniach (przy założeniu, że nie da się tego zrobić prościej bezpośrednio przed kontroler).
REKLAMA