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 4 cze 2025, o 21:38


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
    Autor Wiadomość
    PostNapisane: 21 kwi 2016, o 18:43 
    Offline
    Nowy
    Avatar użytkownika

    Dołączył(a): 29 maja 2015
    Posty: 4
    Lokalizacja: Wieliczka/Węgierska Górka
    Pomógł: 0

    Napisałem procedurę do obsługi klawisza:
    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.

    Po każdorazowym naciśnięciu klawisza dioda przeskakuje o jedno miejsce aż do momentu gdy wartość zmiennej "efekt==5" - w tym momencie uruchamia się funkcja "miganko". Od tego momentu mam problem bo teoretycznie po naciśnięciu przycisku zmienna "efekt" powinna przyjąć wartość 6 i powinna zaświecić się dioda 6 ale tak się nie dzieje :o Cały czas działa funkcja "miganko" i wduszanie przycisku nic nie zmienia. Siedzę już nad tym kilka godzin i nie mogę wymyślić co jest źle :(



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 kwi 2016, o 19:49 
    Offline
    Użytkownik

    Dołączył(a): 26 lip 2015
    Posty: 269
    Pomógł: 34

    Masz delay w funkcji miganko policz ile ona trwa 50ms x 16 = 800ms więc klawisz musisz trzymać przez około 800ms lub więcej. Powinieneś usunąć w jakiś sposób te delay'e. Po za tym przez zmienną a i drugi warunek obsługi klawisza pętla musi obiec 255 razy zanim zmieni się efekt co daje nam 800ms x 255 = 204 sekund więc musisz trzymać klawisz co najmniej przez 204 sekund aby zmienił się efekt. ;)


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 kwi 2016, o 20:06 
    Offline
    Nowy
    Avatar użytkownika

    Dołączył(a): 29 maja 2015
    Posty: 4
    Lokalizacja: Wieliczka/Węgierska Górka
    Pomógł: 0

    Dzięki :)
    Widzę, że muszę doczytać jak te różne pętle krążą.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 kwi 2016, o 22:32 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 09 gru 2014
    Posty: 1540
    Pomógł: 269

    Bartek123 napisał(a):
    Powinieneś usunąć w jakiś sposób te delay'e.

    Poczytaj o timerach programowych.
    Pablo Maximus napisał(a):
    Widzę, że muszę doczytać jak te różne pętle krążą.

    Poczytaj o tablicach (możesz wykorzystać tablicę zamiast tych dwóch pętli for w funkcji miganko).



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 kwi 2016, o 10:57 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 22 wrz 2013
    Posty: 48
    Lokalizacja: Gdańsk
    Pomógł: 1

    Witam.
    Przeszukaj poradniki Mirka. W jednym z nich jest rozwiązany ten problem. Mianowicie w delay jest zdefiniowany bardzo krotki czas który działa w pętli i w tej pętli jest funkcja sprawdzająca czy jest wciśnięty jakiś przycisk który przerywa pętle i z niej wychodzi przerywając NATYCHMIAST deleya. Dokładnie jest to opisane w poradniku Mirka

    _________________
    ----------



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