-
Data: 2024-01-26 21:57:36
Temat: Re: HD44780 i szybkie MCU
Od: "J.F" <j...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Wed, 24 Jan 2024 13:44:38 +0100, Atlantis wrote:
> On 24.01.2024 12:59, J.F wrote:
>
>> Ale skoro nie działa ... WDG resetuje na pierwszym
>> czyszczeniu/inicjacji?
>
> Właśnie nie, i to mnie zastanawia. Wyświetlacz działa jeszcze przez
> jakiś czas po inicjacji. Jest w stanie wysłać trochę danych - mam m.in.
> procedurę, która raz na sekundę aktualizuje czas na wyświetlaczu. I
> przez tych kilka sekund widzę, jak wartość sekund się zmienia. Potem
> jednak wyświetlacz zamiera, a po chwili reaguje watchdog.
>
> Ponieważ wyłączenie define'a odpowiedzialnego za obsługę linii RW
> rozwiązuje problem, pętla oczekiwania na wyczyszczenie flagi wydaje się
> być głównym (jeśli nie jedynym) kandydatem na miejsce, w którym program
> utyka.
>
> Obecną wersję kodu można zobaczyć tutaj:
> https://github.com/marekw1986/InternetRadioPIC32DP83
848/blob/harmony/firmware/src/lcd/hd44780.h
> https://github.com/marekw1986/InternetRadioPIC32DP83
848/blob/harmony/firmware/src/lcd/hd44780.c
>
> Wstępna inicjalizacja pinów GPIO jest robiona w innym miejscu, przy
> okazji inicjalizacji wszystkich peryferiów.
Ja bym tu dorzucil jakies opóznienia między zmianami bitów.
i sprawdził wymagane zaleznosci czasowe chocby z tym
https://www.tme.eu/pl/details/eadip205b-4nlw/wyswiet
lacze-lcd-alfanumeryczne/display-visions/ea-dip205b-
4nlw/
i moze nawet przeniosł ustawienie danych
CLR_RW;
data_dir_out();
?delay
lcd_sendHalf(_data >> 4);
?delay
SET_E;
delay
CLR_E;
delay
lcd_sendHalf(_data);
?delay
SET_E;
delay
CLR_E;
?delay
Niby dane są zapisywane/pobierane na opadającym zboczu E, ale po co
czekac.
uint8_t _lcd_read_byte(void) {
uint8_t result=0;
data_dir_in();
SET_RW;
delay
SET_E;
delay
result = (lcd_readHalf() << 4);
CLR_E;
delay
SET_E;
delay
result |= lcd_readHalf();
CLR_E;
delay
return result;
}
nieduzy ten delay - a, na początek testów z 1us, powinno wystarczyc z
nadmiarem.
I jeszcze jedno ... nie przeskakuja ci się gdzies w programie połówki?
Wystarczy, ze raz pykniesz E, i potem reszta programu będzie odwrotnie
połówki czytała czy zapisywała.
J.
Najnowsze wątki z tej grupy
- "Teleportacja" polskich statków na pd. Bałtyku - rosyjska zabawa w zakłócanie GPS, Galileo, Beidou i GLONASS
- W trakcie porwania prez. Maduro wojsko USONA użyło tajnej broni masowego rażenia: Discombobulator
- antena gsm - kabel - antena gsm
- PID - jeszcze raz
- Zlacze w mikrofonie z lat 80-tych
- Żywica żółknie od UV i wody :(
- Zawory termostatyczne
- Schemat automatyki
- Teoretyczne zagadnienie - ogrzewanie budynku
- Zagadka radiowa
- Prostownik
- Nowy akumulator Donut Lab
- Pilot do zamka/bramy
- Jaka myjka ultradźwiękowa?
- Retro organizer ale współcześnie
Najnowsze wątki
- 2026-01-29 KSeF - 13 wątpliwości
- 2026-01-29 A ja się pochwalę
- 2026-01-29 Warszawa => Mid/Senior IT Recruiter <=
- 2026-01-29 Warszawa => Senior Java Developer <=
- 2026-01-29 Warszawa => IT Recruiter <=
- 2026-01-28 Degradacja
- 2026-01-28 Wysoki Sąd poinstruował czego unikać wyzywając Owsiaka "Równiejszego"
- 2026-01-28 Białystok => Solution Architect (Workday) - Legal Systems <=
- 2026-01-28 Białystok => Preseles Inżynier (background baz danych) <=
- 2026-01-28 Wrocław => Konsultant wdrożeniowy ERP <=
- 2026-01-28 Łódź => Microsoft Engineer <=
- 2026-01-28 Białystok => Tester manualny <=
- 2026-01-27 Tradycja ciągania posłów po sądach za wystąpienia w Sejmie będzie kontynuowana [Lepper 2]
- 2026-01-27 Pierwszy raz sprzedano więcej samochodów zeeletryfikowanych niż ice
- 2026-01-27 Elektryczny Kałasznikow




Jak kupić pierwsze mieszkanie? Eksperci podpowiadają