-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED.cdf154.neoplus.adsl.tpnet.pl!no
t-for-mail
From: Atlantis <m...@w...pl>
Newsgroups: pl.misc.elektronika
Subject: HD44780 i szybkie MCU
Date: Tue, 23 Jan 2024 17:53:07 +0100
Organization: ICM, Uniwersytet Warszawski
Message-ID: <uooqtj$2mrjf$1@news.icm.edu.pl>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 23 Jan 2024 16:53:07 -0000 (UTC)
Injection-Info: news.icm.edu.pl;
posting-host="cdf154.neoplus.adsl.tpnet.pl:83.30.155.154";
logging-data="2846319"; mail-complaints-to="u...@n...icm.edu.pl"
User-Agent: Mozilla Thunderbird
Content-Language: en-US, pl-PL
Xref: news-archive.icm.edu.pl pl.misc.elektronika:787795
[ ukryj nagłówki ]Ktoś z was ma doświadczenie z uruchamianiem wyświetlaczy HD44780 na
(relatywnie) współczesnych mikrokontrolerach?
Mam urządzenie zbudowane w oparciu o PIC32MX795F512L. Do tej pory
korzystałem z wyświetlacza HD44780 (4x20) za pośrednictwem ekspandera na
I2C. Niestety komunikacja była dość wolna - tym bardziej, że układ
reprezentuje rewizję, która miała hardware'owego buga i na tym
konkretnym porcie I2C trzeba było ponawiać konfigurację przed każdą
kolejną transmisją.
W wolnej chwili postanowiłem więc przeprojektować moduł wyświetlacza i w
miejscu ekspandera zastosowałem dwukierunkowy translator poziomów
TXB0108. Dwukierunkowy, bo zamierzam korzystać z funkcji odczytu flagi
zajętości (była ona również wykorzystywana w wersji z I2C).
Przepisałem sterownik, wywalając z niego obsługę I2C. Zamiast tego
komunikację oparłem na na GPIO. Po podpięciu nowej wersji interfejsu LCD
okazało się, że działa on tylko częściowo. Mianowicie jeśli wyłączę
obsługę linii RW (i zamiast sprawdzania flagi zajętości dam
standardowego delay'a 120 us) to wszystko działa zupełnie poprawnie. A
to oznacza, że GPIO są skonfigurowane poprawnie i komunikacja w stronę
wyświetlacza działa.
Problem pojawia się, gdy próbuję włączyć obsługę RW i czytać flagę
zajętości. Wtedy wyświetlacz niby się inicjuje i nawet jest w stanie
poprawnie wyświetlić kilka tekstów, ale w chwilę później układ się
zawiesza (podejrzewam, że własnie na pętli sprawdzania bitu zajętości) i
zalicza reset WDT. I tak w kółko...
Próbowałem dodawać delay'e 1-10 us po zmianach stanów linii RW i EN, a
także po zmianie konfiguracji pinów skaładających się na czterobitową
magistralę danych (wejście lub wyjście), jednak nie przyniosło to
żadnego rezultatu.
Ktoś ma pomysł co może być nie tak?
Następne wpisy z tego wątku
- 23.01.24 19:12 Marek
- 23.01.24 21:26 Zbych
- 23.01.24 21:45 Grzegorz Niemirowski
- 24.01.24 08:11 Atlantis
- 24.01.24 10:26 Grzegorz Niemirowski
- 24.01.24 12:59 J.F
- 24.01.24 13:44 Atlantis
- 25.01.24 15:51 J.F
- 26.01.24 21:57 J.F
Najnowsze wątki z tej grupy
- Fejk muzyczny czy nie fejk
- Raspberry Pi 3 Model B+
- Kuchenka elektryczna
- test
- 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?
Najnowsze wątki
- 2025-03-15 Na co komu okna
- 2025-03-15 Mój elektryk
- 2025-03-15 Fejk muzyczny czy nie fejk
- 2025-03-15 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-15 Wrocław => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, Produk
- 2025-03-15 Błonie => Analityk Systemów Informatycznych (TMS SPEED) <=
- 2025-03-15 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2025-03-15 Warszawa => Java Full Stack Developer (Angular2+ experience) <=
- 2025-03-15 Warszawa => Java Full Stack Developer (Angular2+) <=
- 2025-03-15 KOMU w RP3 pasuje "Rumuńska łatwość gmerania w wyborach" i dlaczego nie PO-Trzaskanym?
- 2025-03-15 China-Kraków => Key Account Manager IT <=
- 2025-03-14 Spalił się autobus :-)
- 2025-03-14 Policjanci z Piątku
- 2025-03-14 Lublin => JavaScript / Node / Fullstack Developer <=
- 2025-03-14 Warszawa => Account Manager - Sprzedaż Usług Rekrutacyjnych <=