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 12 lip 2025, o 11:08


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
    Autor Wiadomość
    PostNapisane: 2 maja 2017, o 10:45 
    Offline
    Nowy

    Dołączył(a): 27 kwi 2017
    Posty: 4
    Pomógł: 0

    Witam, czy może ktoś wskazać mi dziurę w moim rozumowaniu? Od paru godzin siedzę nad paroma linijkami kodu i nie mogę dojść gdzie jest błąd.
    Kod:
    #include <avr/io.h>

    int main(void)
    {
       DDRC = 0x08;
       PORTC = 0x10;

       if(!(PINC&(1<<PC4)))
       {
          PORTC^=(1<<PC3);
       }

    }


    10 razy to przeanalizowałem i nie mam pojęcia gdzie popełniłem błąd, sprawdzałem wszystkie styki, przycisk i działają. Przycisk mam podpięty pod mase.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 maja 2017, o 10:56 
    Offline
    Użytkownik

    Dołączył(a): 22 gru 2013
    Posty: 296
    Lokalizacja: Szczecin
    Pomógł: 47

    Brak:
    while(1)
    {
    if ........
    // i żeby widać było mruganie np.:
    _delay_ms(500);
    }



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 maja 2017, o 11:31 
    Offline
    Nowy

    Dołączył(a): 27 kwi 2017
    Posty: 4
    Pomógł: 0

    Dobra działa :) Tylko dioda czasem wariuje :/



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 2 maja 2017, o 13:33 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 16 mar 2016
    Posty: 30
    Pomógł: 0

    Witam, właśnie poczytaj sobie o drganiach styków bo jeżeli nie będziesz wiedział jak rozwiązać ten problem będzie "wariować" np. po wciśnieciu klawisza odczekaj 80 milisekund, są jeszcze inne metody poczytaj ;)

    A jak już ogarniesz ten problem, i będziesz robił wiekszy projekt z przyciskami napisz sobie prostą funkcje Np. Przycisk_Wcisniety ktora będzie zwracała wynik 0 lub 1 a Ty zdefiniujesz sobie piny klawiszy i będziesz je wpisywał do funkcji w dowolnym miejscu programu a nie za każdym razem pisać od nowa ;)

    Np tak:

    Definicje:

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

    Wywołanie:

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



    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ł: Brak zidentyfikowanych użytkowników i 11 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:  
    Sitemap
    Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
    phpBB SEO