eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaMiganie wyświetlacza 2x16 przy przewijaniu tekstu › Miganie wyświetlacza 2x16 przy przewijaniu tekstu
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!wsisiz.edu.pl!.POSTED!not-for-mail
    From: Atlantis <m...@w...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Miganie wyświetlacza 2x16 przy przewijaniu tekstu
    Date: Mon, 21 Apr 2014 22:27:00 +0200
    Organization: http://www.wit.edu.pl
    Lines: 33
    Message-ID: <lj3uv2$bho$1@portraits.wsisiz.edu.pl>
    NNTP-Posting-Host: aaco27.neoplus.adsl.tpnet.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: 8bit
    X-Trace: portraits.wsisiz.edu.pl 1398112034 11832 83.4.66.27 (21 Apr 2014 20:27:14
    GMT)
    X-Complaints-To: a...@w...edu.pl
    NNTP-Posting-Date: Mon, 21 Apr 2014 20:27:14 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101
    Thunderbird/24.4.0
    X-Enigmail-Version: 1.6
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:663652
    [ ukryj nagłówki ]

    Bawię się właśnie pinami GPIO Raspberry Pi.
    Podpiąłem do nich wyświetlacz 2x16 na hd44780 (negatyw, niebieskie tło i
    białe litery). LCD podłączony przez magistralę 4bit, GPIO i LCD
    obsługuję za pomocą biblioteki wiringPi. Napisałem sobie do tego prosty
    program scrollujący tekst na jednej linii. Całość opiera się na zasadzie
    zbliżonej do bufora cyklicznego. W pętli głównej program sprawdza ile
    czasu minęło od ostatniego uaktualnienia. Jeśli minie zadany okres,
    wysyła do wyświetlacza 16 kolejnych znaków licząc od początku. Potem
    wskaźnik początku się imkrementuje i tak w kółko. Jeśli dojdzie do końca
    łańcucha (lub bufora) wskaźnik znów otrzymuje wartość 0.

    Mam jednak efekt dziwnego migotania przewijanego tekstu. Wygląda to tak,
    jakby po uaktualnieniu w miejscu gdzie tekst był wcześniej pozostał jego
    ciemny cień.

    Co jest w największym stopniu powodem tego zjawiska? Mam kilka hipotez:
    1) Konstrukcja samego wyświetlacza - problem nie do obejścia, pozostaje
    szukać lepszego.
    2) Zbyt długie wgrywanie znaku z uwagi na brak odczytu flagi zajętości.
    Jedynym wyjściem jest dodanie bufora na linii R/W, połączenie jej z RPi
    i przerobienie biblioteki, która domyślnie nie obsługuje tego trybu.
    3) Zbyt wolna transmisja z uwagi na zastosowanie 4bitowej magistrali -
    trzeba poświęcić dodatkowe 4 linie.
    4) Mój kod jest zły i trzeba napisać go jeszcze raz, stosując inne
    podejście.
    5) Migotanie wynika z zastosowania RasPi - lepiej w tym przypadku użyć
    dedykowanego mikrokontrolera.

    Która rozwiązanie jest najbardziej prawdopodobne?

    Tak... Wiem, że niektóre wyświetlacze pozwalają na ograniczoną obsługę
    przewijania. Mi jednak zależy na możliwości wyświetlania długich
    tekstów, więc wolę to zrealizować programowo.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: