eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaHD44780 i szybkie MCU › Re: HD44780 i szybkie MCU
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.aacu196.neoplu
    s.adsl.tpnet.pl!not-for-mail
    From: "J.F" <j...@p...onet.pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: HD44780 i szybkie MCU
    Date: Fri, 26 Jan 2024 21:57:36 +0100
    Organization: news.chmurka.net
    Message-ID: <h7px39zpb0qm$.wv8yna7irwbp$.dlg@40tude.net>
    References: <uooqtj$2mrjf$1@news.icm.edu.pl>
    <vd3tm14miii5$.adw50j11vvau.dlg@40tude.net>
    <uor0nm$2sg0p$1@news.icm.edu.pl>
    NNTP-Posting-Host: aacu196.neoplus.adsl.tpnet.pl
    MIME-Version: 1.0
    Content-Type: text/plain; charset="utf-8"
    Content-Transfer-Encoding: 8bit
    Injection-Info: news.chmurka.net; posting-account="jfoxwr";
    posting-host="aacu196.neoplus.adsl.tpnet.pl:83.4.72.196";
    logging-data="13597";
    mail-complaints-to="abuse-news.(at).chmurka.net"
    User-Agent: 40tude_Dialog/2.0.15.1
    Cancel-Lock: sha1:1QjK6lnmC/zgRIwUVOzEK9nmuZw=
    sha256:3V7JWohxgHPiow50BHgRduUuYTgjT6skF8ppKZFhHoA=
    sha1:i9debkKTp5Gk4Tfl4GsTt5rH03s=
    sha256:xcN3MQuNFtDQWPZZLvKNml/1Meju4rD/IvKDwP5IQDM=
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:787859
    [ ukryj 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.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: