Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki

KURS HOME ASSISTANT

Chcesz zautomatyzować swój dom bez skomplikowanego kodowania?
Zastanawiasz się nad wyborem sprzętu, oprogramowania i aplikacji?
Od czego zacząć przygodę z HA w 2025? Co będzie najlepsze na start?

Nasz kurs Home Assistant nauczy Cię krok po kroku, jak łatwo zautomatyzować swój dom i oszczędzić na rachunkach za prąd i ogrzewanie. Bez chmur, bez zbędnych abonamentów. Twoja przygoda z Home Assistant zaczyna się tutaj!

↓↓↓

    Szanujemy Twoją prywatność. Możesz wypisać się w dowolnym momencie.




    Teraz jest 20 kwi 2025, o 13:58


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
    Autor Wiadomość
    PostNapisane: 1 mar 2013, o 12:52 

    Pomógł: 0

    Mam ostatnio "ciekawy" problem.

    Z racji tego, że na wyświetlaczu zmienne wyświetlają się od lewa do prawa, czyli np, wyświetlamy 1, na miejscu np (0,0)
    to dostajemy na wyświetlaczu
    1
    następnie wyświetlamy 10 w tym samym
    10
    następnie 100
    100

    No i teraz chcemy znowu wyświetlić 1
    ale na wyświetlaczu dostaniemy
    100, bo zera zostają z poprzedniej "razy" ;).

    Poradziłem sobie z tym trochę na około stosując if-y
    tj.
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Co nie jest zbyt eleganckim (w/g mnie) rozwiązaniem, czy jest na to jakaś inna metoda, oczywiście bez lcd_cls.

    Cały czas oczywiście mówię o wykorzystaniu bibliotek Mirka.



    Góra
      
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 mar 2013, o 14:19 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27375
    Lokalizacja: Szczecin
    Pomógł: 1043

    albo bez żadnych IFów na szybko można po prostu zawsze po liczbie wyświetlać ze 2-3 spacje i one będą kasować zera (o ile zaraz po liczbie nie ma nic innego na LCD)

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 mar 2013, o 14:25 

    Pomógł: 0

    W zasadzie tak.......jak zwykle na najprostsze rozwiązania najtrudniej trafić.....

    A psikus......
    Bo jak np. mam daną od (0,0) np Tr: 600,00C, to dając za nią przecież tyle samo spacji za napisem Tr:1,00C w przypadku tej dłuższej danej więcej spacji mi zmaże to co mam w tym samym rzędzie tylko dalej ;). To jednak nie jest takie proste.
    Owszem, jak wyświetlamy mało, albo na dużym wyświetlaczu.
    A ja mam 4dane + opisy na 2x16 to mam ciasno, muszę stosować if-y, zależnie od wielkości wyświetlanych danych tyle spacji. Inaczej się nie da.



    Góra
      
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 mar 2013, o 15:20 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27375
    Lokalizacja: Szczecin
    Pomógł: 1043

    no to tak jak pisał kolega Gwyn wyżej .... albo co za kłopot napisać sobie własną funkcję nadrzędną typu:

    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    czyli podajesz y,x a następnie ile znaków ma być kasowanych zawsze

    trzeba korzystać z dobrodziejstw języka C ;) przecież takich rzeczy się nie pisze w bibliotekach .... bo każdy może to już zrobić na własny sposób .....

    ----------------

    a najlepiej zrobić to w oparciu o warstwy ;)

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 mar 2013, o 15:22 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 14 lut 2012
    Posty: 598
    Lokalizacja: Warszawa
    Pomógł: 13

    Zawsze możesz zbudować sobie dodatkową funkcję na bazie lcd_str_P , w której sprawdzisz jak długi jest string następnie miejsca nie potrzebne wypełnisz spacjami i dopiero wyślesz właściwy string.


    Hihii Mirek mnie ubiegł i nawet dał rozwiązanie ;)

    ale mi w tym brakuję jeszcze w parametrach długości potrzebnego stringa :)

    ------------------------ [ Dodano po: 1 minucie ]

    Ooo i jeszcze w między czasie zmienił trochę kod ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 1 mar 2013, o 15:48 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 14 lis 2011
    Posty: 534
    Lokalizacja: Mierzyn
    Pomógł: 9

    no i gitara :)

    _________________
    pozdrawiam
    Jachu



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 4 gości


    Nie możesz rozpoczynać nowych wątków
    Nie możesz odpowiadać w wątkach
    Nie możesz edytować swoich postów
    Nie możesz usuwać swoich postów
    Nie możesz dodawać załączników

    Szukaj:
    Skocz do:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO