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 30 maja 2025, o 05:12


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
    Autor Wiadomość
    PostNapisane: 5 paź 2018, o 21:27 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 31 lip 2012
    Posty: 157
    Pomógł: 8

    Witam wszystkich.

    Postanowiłem sobie napisać własną, na moje potrzeby bibliotekę dla 8x7seg z MAX7219. Wszystko szło zgodnie z założeniami, do czasu kiedy zabrałem się za rozbijanie liczby na pojedyncze cyfry. Maksymalna wartość to 99999999.
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Dla liczby 12345678 cyfry dig7-dig4, czyli 1234 sa obliczane prawidłowo, problem jest przy dig3 ktora wynos 71... nie wiem już co robię nie tak, i gdzie popełniam błąd.

    Pomocy!!!
    Pozdrawiam ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 paź 2018, o 06:43 
    Offline
    Nowy

    Dołączył(a): 10 cze 2014
    Posty: 20
    Pomógł: 1

    Witam
    Nie chcę się mądrować, ale takich żeczy się tak nie robi, chyba że dla sportu. Próbowałeś dzielić przez 10 i resztę z dzielenia badać?
    Pozdrawiam



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 paź 2018, o 08:34 
    Offline
    Użytkownik

    Dołączył(a): 07 gru 2013
    Posty: 90
    Pomógł: 6

    Jedyne co mi przychodzi na myśl o wyświetlaniu liczby to rozbicie na pojedyncze znaki poprzez dzielenie i reszta z dzielenia. Np:dla liczby do 934
    1 - sprawdzasz czy liczba jest większa lub równa 100 i mniejsza od 1000
    2 - dzielisz przez 100 w wyniku otrzymujesz 9 (cyfra/100)
    3 - resztę z dzielenia przez 100 dzielisz przez 10 w wyniku cyfra 3 ((cyfra%100)/10)
    4 - reszta dzielenia przez 100 znowu reszta dzielenia przez 10 i otrzymujesz ostatnia cyfre 4 ((cyfra%100)%10)
    poniżej trochę kodu, rozbicia liczby uint16_t. W twoim przypadku trochę będziesz miał zabawy z dużymi liczbami ( kiedyś próbowałem w ten sposób wyświetlić uint32_t ), ale temat do przeskoczenia.

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



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 6 paź 2018, o 09:12 
    Offline
    Moderator
    Avatar użytkownika

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

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


    i masz w tablicy wszystkie cyfry - wyświetlasz je jak chcesz

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

    Panowie w Bluebooku pokazałem taki sposób z tym dzieleniem w KAŻDEJ linii no TYLKO po to, żeby zrozumieć jak to działa, jak do tego podchodzić na procku, ale teraz czas na programowanie, pisanie kodu ... tak jak np ten który pokazałem, choć to też tylko przykład - można napisać w ogóle uniwersalną funkcję dla dowolnie długiej liczby.


    Autor postu otrzymał pochwałę

    _________________
    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 paź 2018, o 09:49 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 31 lip 2012
    Posty: 157
    Pomógł: 8

    Absolutna racja, że podejście nie jest zbyt dobre i jest wiele lepszych możliwości, zastanawiało mnie skąd było to 71. Ostatecznie użyłem funkcji ltoa ;)



    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 2 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