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 10 lip 2025, o 05:21


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
    Autor Wiadomość
    PostNapisane: 25 lip 2021, o 11:52 
    Offline
    Użytkownik

    Dołączył(a): 25 lip 2021
    Posty: 93
    Pomógł: 0

    Witam, 2 dzień męczę się z pozornie prostym zadaniem. Otóż chcę, po wciśnięciu switcha zapalić diodę, a jak puszcze to ma się zgasić. Nie wiem, gdzie jest mój błąd w rozumowaniu,w kodzie.

    pod PB0 podłączyłem microswitch do masy, a do PD1 LED. Po załadowaniu programu dioda świeci się cały czas, nie reaguje na przycisk jakby procek widzial ciągle stan niski na PB0.

    #include <avr/io.h>
    #include <util/delay.h>


    int main (){
    DDRB &=~(1<<0); // Ustawiam PB0 jakos wejscie
    DDRD |= (1<<1); // Ustawiam PD1 jako wyjscie
    PORTB |= (1<<0); // Podciagam wew. rezystorem do vcc switch

    if (!(PINB & (1<<0))) { // Jesli odczytana wartosc PB0 to 0
    PORTD |= (1<<1); // Zapal diode na PD1
    }else{ // jesli jest inaczej
    PORTD &=~(1<<1); // Zgas diode na PD1


    }
    }

    Co ciekawe zauwazylem, ze wgrywajac program kilka razy pod rząd dioda raz świeci, raz nie świeci, jest to losowe

    Edit: ... W koncu działa... Zapomniałem o tym, że program powinien wykonywać się w nieskończonej pętli.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 lip 2021, o 16:00 
    Offline
    Użytkownik

    Dołączył(a): 13 paź 2015
    Posty: 303
    Lokalizacja: Rybnik
    Pomógł: 10

    Super, że się zorientowałeś ;) A tak na przyszłość pamiętaj o prawidłowym wstawianiu kodu, żeby się lepiej czytało:
    https://forum.atnel.pl/topic7402.html


    Autor postu otrzymał pochwałę


    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 25 lip 2021, o 16:49 
    Offline
    Użytkownik

    Dołączył(a): 25 lip 2021
    Posty: 93
    Pomógł: 0

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


    Ok, będe wiedział na przyszłość



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 28 lip 2021, o 21:31 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 22 paź 2013
    Posty: 1978
    Lokalizacja: Lipsko
    Pomógł: 125

    A jak już chcesz być tak dokładny to proponuję zamiast, np. (1<<1) pisz (1<<PB1). Lepiej się wtedy na to patrzy :)

    _________________
    http://www.sylwekkuna.com



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Google [Bot] i 10 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