-
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
- Portowanie CP/M
- radyjko
- Re: Basen i chłodzenie w w wentylacji mechanicznej
- Akumulatory VRLA
- ładowarka zmarła
- Podstawa bezpiecznikowa jako rozłącznik DC
- Napięcie akumulatora wyłączające UPS / jakie nowe akumulatory do UPS?
- nawigacja satelitarna
- SmartLife/Tuya i osuszanie -- mordowanie z zimną krwią...
- Głośnik piezoelektryczny
- Mala autonomiczna kamera monitoringu
- czas na emeryturę i EB
- Generowanie sumy kontrolnej z fragmentu pliku bin
- Re: Mala autonomiczna kamera monitoringu
- HDMI
Najnowsze wątki
- 2024-07-10 Nadchodzi nowa opłata od posiadania aut spalinowych
- 2024-07-10 Droga dwukierunkowa
- 2024-07-10 Elektryki są fajne
- 2024-07-10 Elektryki są fajne :(
- 2024-07-09 USB -> jack
- 2024-07-10 Kompakt WC z montażem
- 2024-07-10 Gorąco za oknem, to napisałem piosenkę o grupowiczach
- 2024-07-09 Naprawa klimy przenośnej - czy to opłacalne?
- 2024-07-10 Białystok => Technical Leader (Java Background) <=
- 2024-07-10 Białystok => Senior Rust Software Engineer <=
- 2024-07-10 Warszawa => Spedytor Międzynarodowy <=
- 2024-07-10 Warszawa => Spedytor międzynarodowy <=
- 2024-07-10 Warszawa => Technical Lead ( (Java Background)) <=
- 2024-07-10 Warszawa => Projektant/Programista React Native <=
- 2024-07-10 Gdańsk => Head of International Freight Forwarding Department <=