logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[ATmega8][EVBavr 04][C] Odczytanie pozycji kursora - hd44780

Bartek.k.k 24 Sie 2011 15:50 1571 6
REKLAMA
  • #1 9857939
    Bartek.k.k
    Poziom 21  
    Posty: 617
    Pomógł: 15
    Ocena: 64
    Witam, od 2 dni nie mogę znaleźć informacji o funkcji, która odczytuje pozycję kursora na lcd hd44780. Zbieram się do napisania funkcji, która kasowałaby backspacem dokładnie 1 znak na lcd, lecz potrzebuje mieć możliwość odczytania aktualnej pozycji kursora. Na wszelki wypadek dodam, że oczywiście pin R/W podłączony do uC. Pozdrawiam Bartosz!
  • REKLAMA
  • Pomocny post
    #2 9858029
    LordBlick
    VIP Zasłużony dla elektroda
    Posty: 5438
    Pomógł: 549
    Ocena: 69
    Jest to chyba ten sam rozkaz, co odczyt flagi zajętości, bity od 0 do 6 są adresem kursora... Warunkiem jest chyba, aby ostatnim wyborem adresu był RAM od danych wyświetlania, a nie od definicji znaków. Innym rozwiązaniem jest wyliczanie adresu bezpośrednio w procedurze wysyłającej.
  • REKLAMA
  • Pomocny post
    #3 9858040
    omicronNs
    Poziom 21  
    Posty: 528
    Pomógł: 38
    Ocena: 10
    Przy odczycie flagi zajętości, 6 młodszych odczytanych bitów to właśnie adres kursora, jeśli ostatnio aktywna była pamięć DDRAM.
  • REKLAMA
  • #4 9858081
    Bartek.k.k
    Poziom 21  
    Posty: 617
    Pomógł: 15
    Ocena: 64
    Kod: C / C++
    Zaloguj się, aby zobaczyć kod


    Tak u mnie wygląda funkcja "Sprawdzenie stanu Busy Flag (Zajętości wyświetlacza)". Mógłby ktoś przykładowo pokazać jak umieścić bity od 0 do 6 do zmiennej, aby mógł wiedzieć, gdzie jest kursor? Pozdrawiam Bartek!
  • Pomocny post
    #5 9858129
    LordBlick
    VIP Zasłużony dla elektroda
    Posty: 5438
    Pomógł: 549
    Ocena: 69
    Robisz prosto (nie sprawdzałem, piszę "z głowy"):
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #6 9858144
    Bartek.k.k
    Poziom 21  
    Posty: 617
    Pomógł: 15
    Ocena: 64
    LordBlick napisał:
    Robisz prosto (nie sprawdzałem, piszę "z głowy"):
    Kod: text
    Zaloguj się, aby zobaczyć kod


    Dzięki bardzo, jeżeli mógłby ktoś potwierdzić czy wszystko w porządku byłbym wdzięczny. Próbowałem jakaszmienna=check_BF();, lecz nie działało. Chociaż teraz będę wiedział jak ustalone adresy funkcji aplikować do zmiennej. Pozdrawiam!
  • REKLAMA
  • #7 9860818
    Bartek.k.k
    Poziom 21  
    Posty: 617
    Pomógł: 15
    Ocena: 64
    Potwierdzam, komenda działa. Dziękuje za pomoc.

Podsumowanie tematu

✨ W dyskusji poruszono problem odczytu pozycji kursora na wyświetlaczu LCD HD44780. Użytkownik poszukiwał informacji na temat funkcji, która umożliwiłaby mu odczyt aktualnej pozycji kursora, aby móc zaimplementować funkcję kasowania znaku. Odpowiedzi wskazały, że odczyt pozycji kursora można zrealizować poprzez odczyt flagi zajętości, gdzie bity od 0 do 6 reprezentują adres kursora, pod warunkiem, że ostatnio aktywna była pamięć DDRAM. Użytkownik otrzymał również przykładowy kod do implementacji oraz potwierdzenie, że zaproponowane rozwiązanie działa poprawnie.
Wygenerowane przez model językowy.
REKLAMA