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 8 cze 2025, o 00:53


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 2 ] 
    Autor Wiadomość
    PostNapisane: 22 wrz 2014, o 15:20 
    Offline
    Nowy

    Dołączył(a): 03 sty 2014
    Posty: 19
    Pomógł: 0

    Cześć,

    Mam problem z kodem.
    Program na działać następująco:
    1. Przerwanie z przycisku
    2. Wysyła na Serial -> np. "a" ( naciśnięto i trzymany jest przycisk)
    3. Zmienia stany dwóch portów (przycisk jest nadal trzymany i jeśli nie puszczony idź do 4.)
    4. Wysyła na Serial -> np. "b" (puszczono przycisk po skończeniu 3.)

    Dzięki temu wiem, że rozpoczęło się zmienianie stanu (dostaje "a") i wiem, że się zakończyło ("b").
    Czas pomiędzy wysyłaniem i nadawaniem jest długi (kilka sekund).

    Niestety aktualnie działa mi to tak:
    1. Wchodzi w przerwanie
    2. Robi punkt 3
    3. Jak po kilku sekundach skończy punkt 3 wysyła mi jednocześnie "a" i "b".

    Próbowałem na dwa sposoby:
    Jeden klasycznie po koleji napierw Serial.println("a"), a potem cała procedura punktu 3 na koniec Serial.println("b")

    oraz dziwniej, nie wiem czemu nie poprawniej:

    attachInterrupt(0, LED_start, RISING); (naciśnięcie)
    attachInterrupt(0, LED_bar, HIGH); (trzymanie)
    attachInterrupt(0, LED_terminate, FALLING); (puszczenie)

    Wtedy wogóle (przy takich 3 definicjach) nie wchodzi w przerwanie.

    Jak to rozwiązać?

    Gosiek



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 wrz 2014, o 15:32 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    oczywiście wiesz że:

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


    działają TYLKO na arduino DUE ....

    jak masz zwykłe Arduino , Arduino UNO i zgodne używaj :

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


    Pokaż kod ,... też bo tak mozna wróżyć z fusów :P

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



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

    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:  
    cron
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO