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 25 kwi 2025, o 15:16


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
    Autor Wiadomość
    PostNapisane: 7 sty 2019, o 17:38 
    Offline
    Użytkownik

    Dołączył(a): 26 cze 2016
    Posty: 186
    Pomógł: 7

    Trochę nie rozumiem pytania, ale w 2 przypadku też zapalają się po kolei, ale na oko widać, że jednocześnie, bo to odstęp rzędu mikrosekund jest, potem masz opóźnienie zauważalne dla oka i znów diody po kolei zmieniają stan, na oko jednocześnie.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 sty 2019, o 17:52 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 13 kwi 2014
    Posty: 58
    Pomógł: 0

    W przykładzie pierwszym, po każdej zmianie stanu na pojedynczym pinie portu B program jest zatrzymywany na pół sekundy, dlatego stan każdej z diod też zmienia się po kolei co pół sekundy.

    W przykładzie drugim, zmieniasz stan na trzech pinach portu B, a dopiero potem zawieszasz program na pół sekundy. Jako, że dzieje się to niemal w mgnieniu oka (nie ma delayów między poszczególnymi pinami), więc
    Misiek_86 napisał(a):
    czerwona biała i zielona migają wszystkie razem



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 7 sty 2019, o 18:02 
    Offline
    Użytkownik

    Dołączył(a): 05 gru 2017
    Posty: 430
    Lokalizacja: Puck
    Pomógł: 7

    Cześć Misiek_86

    W pierwszym przykładzie masz zastosowane _delay_ms(500);
    i one zatrzymują Ci działanie programu na czas 500 ms
    po tym czasie zapalą ci LED na porcie PB0
    następnie zostanie zatrzymane działanie programu na 500 ms
    i po upływie tego czasu zostanie włączony port PB1 i włączona
    dioda LED nr2
    i dalej będzie tak samo
    _delay_ms(x); zatrzymuje ci działanie programu na czas jaki podasz między nawiasami
    dla tego delay może czasami namieszać w kodzie

    W drugim przykładzie zapalasz od razu wszystkie porty PB0,PB1,PB2
    i dopiero potem zatrzymujesz działanie programu na 500 ms

    W trzecim przykładzie również najpierw wykonujesz wszystko co jest powyżej
    delaya a następnie zatrzymujesz działanie programu na czas 1 s czyli 1000 ms



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