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 18 maja 2025, o 21:04


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 9 ] 
    Autor Wiadomość
    PostNapisane: 16 lip 2020, o 20:10 
    Offline
    Użytkownik

    Dołączył(a): 19 lut 2020
    Posty: 52
    Pomógł: 0

    Cześć!
    Piszę kod, który ma działać jak minutnik, z tym że zamiast np 2:15:00 (h:m:s) ma wyświetlać 135:00 (m:s). Wyświetlam na LCD w skrócie taki kod:
    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.


    Gdzieś mam banalny błąd, którego jednak nie mogę rozwiązać, bo jeśli sekundnik dojedzie do zera i dalej odlicza od 59, to żeby przeskoczyła minuta w dół tak naprawdę mija 100 sekund.
    Mógłby ktoś podpowiedzieć?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 lip 2020, o 21:29 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 06 mar 2015
    Posty: 323
    Lokalizacja: Rybnik
    Pomógł: 23

    Po pierwsze: Co jaki czas wywołujesz przerwanie?
    Jeśli co 1 sekundę, to dlaczego robisz taki zapis w linii nr 9 ?
    "minutnik = czas*100; // żeby było 75:00"
    Skoro zmienna czas ma wynosić 75 minut a przerwanie masz co sekundę,
    to zmienna minutnik powinna mieć zapis:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    czyli jeśli minut ma być 75, to trzeba to pomnożyć przez 60 sekund.
    Napisz jaki masz ustawiony czas na przerwaniu, bo teraz to idzie tylko gdybać.
    Najlepiej pokaż cały kod, bo w przerwaniu też to jakoś dziwnie zapisujesz.
    Aha i wyświetlasz to chyba na LED a nie LCD?

    _________________
    http://www.avrboss.pl



    Ostatnio edytowano 16 lip 2020, o 21:31 przez mario2015, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 lip 2020, o 21:30 
    Offline
    Nowy

    Dołączył(a): 31 maja 2018
    Posty: 17
    Pomógł: 1

    A dlaczego minuty = minutnik/100;?? skoro przerywanie co 1s to powinno być minutnik/60; a jak przerywanie inne to znowu sekundy = minutnik % 60; jest źle..

    Z tego co widzę "minutnik" to zmienna przechowująca sekundy wiec dzielona przez 60 da nam minuty a resztę z dzielenia da nam sekundy.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 lip 2020, o 21:39 
    Offline
    Użytkownik

    Dołączył(a): 19 lut 2020
    Posty: 52
    Pomógł: 0

    Wyświetlam na LCD. Już mi wszystko śmiga. Coś sobie ubzdurałem, że żeby był format 75:00 muszę minuty pomnożyć przez 100, a przecież tak to wygląda na "zegarze" a w kodzie powinienem mnożyć przez 60. Taki głupi błąd a ja 2 dni kombinowałem :oops:
    Tak czy inaczej dzięki za poświęcony czas!



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 lip 2020, o 22:06 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 06 mar 2015
    Posty: 323
    Lokalizacja: Rybnik
    Pomógł: 23

    A więc moja podpowiedź była trafna?

    _________________
    http://www.avrboss.pl



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 lip 2020, o 22:12 
    Offline
    Użytkownik

    Dołączył(a): 19 lut 2020
    Posty: 52
    Pomógł: 0

    Można tak powiedzieć. Dostałem powiadomienie o odpowiedzi ze 2 minuty po tym jak sam na to wpadłem :D



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 lip 2020, o 18:55 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 06 mar 2015
    Posty: 323
    Lokalizacja: Rybnik
    Pomógł: 23

    Dobrze, że "sam" na to wpadłeś. Czasami trzeba myśleć a dopiero potem pytać.

    _________________
    http://www.avrboss.pl



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 17 lip 2020, o 19:27 
    Offline
    Użytkownik

    Dołączył(a): 19 lut 2020
    Posty: 52
    Pomógł: 0

    Siedziałem nad tym 3 dni i w końcu wolałem spytać.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 18 lip 2020, o 09:15 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 06 mar 2015
    Posty: 323
    Lokalizacja: Rybnik
    Pomógł: 23

    Oczywiście, po to jest to forum żeby pytać.

    _________________
    http://www.avrboss.pl



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

    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