-
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.
Następne wpisy z tego wątku
- 21.04.14 22:47 AlexY
- 22.04.14 03:10 Pawel \"O'Pajak\
- 22.04.14 08:07 Artur Miller
- 22.04.14 08:18 Atlantis
- 22.04.14 09:11 BartekK
- 22.04.14 09:18 Atlantis
- 22.04.14 14:09 AlexY
Najnowsze wątki z tej grupy
- T-1000 was here
- Ściąganie hasła frezem
- Koszyk okrągły, walec 3x AA, na duże paluszki R6
- Brak bolca ochronnego ładowarki oznacza pożar
- AMS spalony szybkim zasilaczem USB
- stalowe bezpieczniki
- Wyświtlacz ramki cyfrowej
- bateria na żądanie
- pradnica krokowa
- Nieustający podziw...
- Coś dusi.
- akumulator napięcie 12.0v
- Podłączenie DMA 8257 do 8085
- pozew za naprawę sprzętu na youtube
- gasik
Najnowsze wątki
- 2025-02-01 "Nie kupujcie samochodów elektrycznych
- 2025-02-01 jakie małe auto duże w środku :-)
- 2025-02-01 Re: pytanie do oponiarzy lub szybkojeżdzących (opony Hankook Ventus Prime, S1 Evo, alternatywy)
- 2025-02-01 T-1000 was here
- 2025-02-01 Warszawa => DevOps Engineer <=
- 2025-02-01 Katowice => Administrator IT - Operating Systems and Virtualization <=
- 2025-02-01 Warszawa => Spedytor międzynarodowy <=
- 2025-02-01 Śmierć mózgu a narządy do pobrania
- 2025-01-31 A niektórym to naprawdę zależy na ekologi w miastach LPG POWRACA ;-)
- 2025-01-31 Lublin => Programista Delphi <=
- 2025-01-31 Łódź => Programista NodeJS <=
- 2025-01-31 Wrocław => Senior SAP Support Consultant (SD) <=
- 2025-01-31 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2025-01-31 Gdańsk => iOS Developer (Swift experience) <=
- 2025-01-31 Kraków => UX Designer <=