Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Atmega8 HD44780 - znaczenie kodu 0x0c

antoniobermuda 02 Sty 2015 20:26 726 3
  • #1 02 Sty 2015 20:26
    antoniobermuda
    Poziom 2  

    Cześć,

    Na początku chciałbym się przywitać, gdyż jest to mój pierwszy post na Elektrodzie :)

    Wiem, że odgrzewam kotleta zadając pytanie w takim starym temacie, ale mam tutaj jedną niejasność.
    Chodzi mi o ostatnią linijkę funkcji lcd_init:

    lcd_send_register(0x0c); //13

    Kod: c
    Zaloguj się, aby zobaczyć kod


    Dlaczego wysyłasz tam taką wartość 0x0c, co ten rozkaz ma za zadanie wykonać?
    Ta konkretne linijka interesuje mnie dlatego, że walczę z wyłączeniem kursora na wyświetlaczu. Ustawiając bity zgodnie z dokumentacją kursor nie chce znikać, a jak wstawię Twój kod to działa, jednak nijak nie mogę dojść dlaczego.

    Pozdrawiam
    Piotrek

    Moderowany przez dondu:

    Witamy na forum :)

    Staraj się nie pytać autorów tematów sprzed 7 laty - po prostu załóż swój temat. Dlatego właśnie przeniosłem Twój post do nowego tematu.

    Kody programów, wpisujemy za pomocą znacznika SYNTAX - poprawiłem. Kod jest wtedy krótki , kolorowany i łatwo go analizować.

    0 3
  • #3 03 Sty 2015 02:30
    373522
    Użytkownik usunął konto  
  • #4 06 Sty 2015 13:19
    antoniobermuda
    Poziom 2  

    dasej napisał:
    Witam,

    Liczba 13 binarnie wygląda tak 00001101 , porównaj to z pozycją w tabeli "Display on/off control" i masz odpowiedź


    Atmega8 HD44780 - znaczenie kodu 0x0c


    0x0C to dziesiętnie 12 i binarnie wygląda tak: 00001100 :) no i faktycznie jest to display on/off control.

    Dzięki za zainteresowanie udało mi się rozwiązać problem, z chowaniem kursora. Oczywiście był to mój błąd. Wysyłałem bity w złej kolejności w mojej funkcji init.
    To, że wyświetlacz w ogóle działał to totalny przypadek, bo jest on na sterowniku SPLC780, który jest kompatybilny z HD44780 ale init wykonuje się u niego sam nawet jak nie są spełnione rygorystyczne warunki zasilania.
    Dlatego też założyłem, że robię wszystko dobrze, a okazało się, że cała procedura initu, którą napisałem to jedna wielka bzdura :)

    Po przeanalizowaniu wszystkiego od nowa napisałem prawidłową funkcję i oczywiście kursor mi się zachowuje tak jak bym tego oczekiwał we wszystkich możliwych przypadkach ustawiania flag display.

    Dodano po 4 [minuty]:

    niveasoft napisał:
    ..myślę że (ciach) przyda się informacja że windows`owy kalkulator jest bardzo pomocny :)
    Możesz zobaczyć jak poustawiane są bity w bajcie :) Przeliczać pomiędzy systemami zapisu..Wszystko za darmo i pod ręką.
    Atmega8 HD44780 - znaczenie kodu 0x0c Atmega8 HD44780 - znaczenie kodu 0x0c Atmega8 HD44780 - znaczenie kodu 0x0c Atmega8 HD44780 - znaczenie kodu 0x0c Atmega8 HD44780 - znaczenie kodu 0x0c

    (Trochę pooszukiwałem żeby było lepiej widać bo kalkulator nie wyświetla zer nieznaczących)

    Ja na szczęście wiem jak działa kalkulator w Windowsie i znam metody przeliczeń systemów liczbowych.

    Jednak i tak wielkie dzięki za piękne rysunki :)

    Pozdrawiam
    Piotrek

    0