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 11 lip 2025, o 07:05


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
    Autor Wiadomość
    PostNapisane: 27 paź 2016, o 13:43 
    Offline
    Użytkownik

    Dołączył(a): 05 lis 2013
    Posty: 353
    Lokalizacja: Kraków
    Pomógł: 6

    Witajcie.

    Niby prosta sprawa, ale przez drgania styków coś nie działa w programie.
    Próbowałem już różnych rozwiązań, ale żadne nie przynosi rezultatu. Może ktoś mi pomoże.
    Program ma za zadanie po naciśnięciu przycisku zapisać do zmiennej startTime czas z millis() a po puszczeniu przycisku zapisać czas do stopTime. Jeśli wynik jest większy niż 50ms to zapisujemy do zmiennej czas_ms wynik odejmowania.
    W funkcji loop wykonujemy przykładowy program jeśli czas_ms jest mniejszy niż 1000ms (tutaj akurat miganie diodą)
    Program wygląda tak:
    Składnia: [ Pobierz ] [ Ukryj ] [ Zaznacz wszystko ]
    język cpp
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    i ogólnie działa, ale niestety nie za każdym naciśnięciem. Dodatkowo co jakiś czas w ogóle nie wchodzi do else i nie resetuje zmiennych button_release i button_press co praktycznie zawiesza program.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 paź 2016, o 14:50 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 01 lis 2015
    Posty: 1448
    Lokalizacja: okolice Warszawa
    Pomógł: 149

    Witam,
    Nie przyjrzałem się dokladnie bo jestem w pracy i to jest w C++.
    Czy masz zdefiniowane więcej niż 1 klawisz.
    Jeżeli tak to zakomentuj pozostałe i zobacz czy się poprawilo.
    Jezeli tak, to wszystko co chcesz wykonać po puszczeniu klawisza wpisz w warunku
    Jeżeli wszystkie klawisze puszczone. Bo pomimo naciskania pierwszego w funkcji drugiego systematycznie wykonuje się ostatni warunek.
    Mogłem cos przegapić bo czytałem pobieżnie..



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 paź 2016, o 15:07 
    Offline
    Użytkownik

    Dołączył(a): 05 lis 2013
    Posty: 353
    Lokalizacja: Kraków
    Pomógł: 6

    Daro69 napisał(a):
    Witam,
    Czy masz zdefiniowane więcej niż 1 klawisz.

    na razie tylko jeden klawisz pod wejście 2.

    przeniosłem to ostatnie else z 39 linijki wyżej po else if (32 linijka) i wydaje się trochę lepiej działać ale dalej daleko jest do właściwego działania.
    Coś muszę chyba podejść do tematu jeszcze raz bo nic z tego nie będzie. Funkcja onSteep działa tylko w przerwaniu a potem program ją omija. Chyba będzie trzeba podejść do tematu, że w przerwaniu ustawiamy tylko flagi a w programie głównym na tych flagach będą wykonywane instrukcje.



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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


    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