-
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
- Cewka elektrozaworu
- zapytanie o chip r5f21275nfp
- nie naprawiam więcej telewizorów
- Zrobił TV OLED z TV LCD
- Zasilacz USB na ścianę.
- Gniazdo + wtyk
- Aliexpress zaczął oszukiwać na bezczelnego.
- OpenPnP
- taka skrzynka do kablowki
- e-paper
- 60 mA dużo czy spoko?
- Dziwne zachowanie magistrali adresowej w 8085
- Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- Jaki silikon lub może klej?
- Smar do video
Najnowsze wątki
- 2025-03-11 Warszawa => Kierownik ds. kluczowych Klientów <=
- 2025-03-11 Łódź => System Administrator (Linux, Active Directory) <=
- 2025-03-10 roaming
- 2025-03-10 wodor
- 2025-03-10 Ostrów Wielkopolski => NodeJS Developer <=
- 2025-03-10 Białystok => System Architect (background deweloperski w Java) <=
- 2025-03-10 Częstochowa => Backend Developer (Node + Java) <=
- 2025-03-10 Poznań => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, Produkc
- 2025-03-10 Bydgoszcz => Specjalista ds. Sprzedaży (transport drogowy) <=
- 2025-03-10 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-10 Chiny-Kraków => Senior PHP Symfony Developer <=
- 2025-03-10 Szczecin => Key Account Manager IT <=
- 2025-03-10 Warszawa => Node.js / Fullstack Developer <=
- 2025-03-10 Warszawa => Data Engineer (Tech Leader) <=
- 2025-03-10 Gliwice => Business Development Manager - Network and Network Security