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? 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 6 cze 2025, o 00:52


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
    Autor Wiadomość
    PostNapisane: 3 lut 2022, o 16:49 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 paź 2013
    Posty: 498
    Lokalizacja: Siedlce
    Pomógł: 9

    A więc jak w temacie mam taką funkcję do wyświetlania na LD2x16 HDD44780
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Funkcja dotyczy tego urządzenia:
    https://www.youtube.com/watch?v=b4VW8UY ... nel=RadekB

    Mimo że nawet nie oczekuje ujemnej wartości bo zmienna jest
    uint32t rezystor
    mimo że nawet daje warunek przed
    if(rezystor<0)rezystor=0;
    lcd_long(rezystor); to na LCD mam jakieś bzdurne ujemne wartości np. -398

    Jak się tego pozbyć? Oczywiście oczekuje 0ra ;)

    _________________
    Ucz się ucz ,bo po to tutaj jesteś...



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 lut 2022, o 20:39 
    Offline
    Użytkownik

    Dołączył(a): 07 cze 2016
    Posty: 563
    Pomógł: 143

    Zamiast funkcji ltoa spróbuj użyć ultoa.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 3 lut 2022, o 20:45 
    Offline
    Użytkownik

    Dołączył(a): 28 maja 2020
    Posty: 52
    Lokalizacja: Szczecin - Goleniów
    Pomógł: 0

    a czasem nie przekroczony jest zakres wartości liczbowej....



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 4 lut 2022, o 11:22 
    Offline
    Moderator
    Avatar użytkownika

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

    RadekB86 napisał(a):
    Jak się tego pozbyć?

    A w Bluebooku jest to opisane ... i nie chodzi o żadne pozbywanie się, tylko o zrozumienie jak działają funkcje typu itoa, ltoa czy utoa gdzie proszę w książce aby sobie zajrzeć do opisu toolchaina w PDF, i nawet jest sugestia w książce żeby sobie taką funkcję napisać oddzielną dla wyświetlania liczb bez znaku dużo większych, bo samo próbowanie na oślep funkcji utoa czy ultoa bez zrozumienia o co chodzi i tak za chwilę odezwie się u ciebie problemem - gdy będziesz chciał wyświetlić liczbę większą niż 65535 bo typ argumentu jest za mały a wynik na LCD cię znowu zdziwi

    _________________
    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: 6 lut 2022, o 12:43 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 04 paź 2013
    Posty: 498
    Lokalizacja: Siedlce
    Pomógł: 9

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


    Teraz znowu mam efekt że naprzemiennie wyświetla mi się 0 i 398 napisze od razu żeby nie było wątpliwości że jest to rezystancja która wynika z obliczenia na podstawie pomiaru z ADC tutaj wygląd funkcji która mi oblicza tą rezystancję:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



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

    (do tego dodam że przewód ma długość 4,5m więc spora antena ;) ) ale mając krótszy 20 cm też jest podobnie :mrgreen:

    _________________
    Ucz się ucz ,bo po to tutaj jesteś...



    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: 5 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 3 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:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO