-
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
- supercap
- Procesor NMOS i karta CF
- Jak sprawdzic uC
- radyjko znalazłem
- Telewizor przestał widzieć sygnał z anteny
- LED
- System operacyjny dla 6800?
- Przyłączenie działki do sieci elektrycznej
- Działalność nierejestrowana/definicja sprzętu elektronicznego/misie i kolejki
- Smukły, długi ściągacz izolacji do kynaru
- rezystor 3 omy 400W
- [newbie] Jaki multimetr za 2-4 stówy?
- szafka sieciowa
- Raspberry Pi 5 + dyski SATA
- lutownica na węgiel
Najnowsze wątki
- 2024-05-26 O co chodzi?
- 2024-05-26 PJ autobus-tramwaj
- 2024-05-26 Renault Trafic i lampka z czerwonym STOP
- 2024-05-26 cena pięciocyfrowa
- 2024-05-26 Re: Jak dobra KE "okrada" złą Rosję "dla Ukrainy"
- 2024-05-25 supercap
- 2024-05-25 Sulzbach => Technischer Rollouter (d/m/w) <=
- 2024-05-25 Warszawa => Senior Account Manager <=
- 2024-05-25 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-25 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-25 Warszawa => Interactive/Experience Designer <=
- 2024-05-25 Warszawa => Key Account Manager <=
- 2024-05-25 Warszawa => SAP WM Consultant / Execution <=
- 2024-05-25 Warszawa => Key Account Manager <=
- 2024-05-25 Re: znów ten wrocław