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 maja 2025, o 17:57


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 3 ] 
    Autor Wiadomość
    PostNapisane: 14 lis 2017, o 00:45 
    Offline
    Użytkownik

    Dołączył(a): 08 cze 2016
    Posty: 204
    Lokalizacja: Katowice
    Pomógł: 0

    Na początku chciałbym zaznaczyć że nie ma to być dokładny zegar tylko kolejny etap w mojej nauce teraz do rzeczy zegar działa poprawnie z pomocą na forum więc postanowiłem dodać dwa przyciski jeden do ustawienia godziny drugi minut gdy dodałem pierwszy przycisk ustawienie minut program działa poprawnie kłopoty zaczęły się po dodaniu drugiego przycisku do ustawiania godzin godziny zaczęły odliczać sekundy nie mam pojęcia w czym tkwi problem
    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.
    Poz.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 14 lis 2017, o 01:49 
    Offline
    Użytkownik
    Avatar użytkownika

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

    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.


    Problem polega na tym, że w pętli głównej wykorzystujesz delay 1000ms czyli jak wciśniesz i będziesz trzymał wciśnięty klawisz godzinowy to zmiana godzin (ustawianie godzin) będzie następowała co 1 sekundę. To samo tyczy się ustawiania minut. Tak czy inaczej, godziny i minuty są ustawiane prawidłowo.
    Wyżej napisałem Ci uproszczoną wersję twojego programu, zobacz, że przy takim opóźnieniu 1s nawet nie trzeba się martwić o drgania styków.
    Pomyśl nad timerem programowym, który będzie inkrementował sekundy w przerwaniu. Wtedy warto wykorzystać obsługę przycisków taką jak masz w swoim kodzie. Teraz napisałeś w sposób bardzo blokujący, uC nie robi nic przez 1s. Nie tędy droga.

    Dodatkowo powołałeś zmienną keylock1, której nigdzie nie używasz w kodzie, a powinieneś w obsłudze drugiego przycisku. Obecnie korzystasz z keylock dla obu.

    Powołujesz zmienne, które znajdują się w funkcji int main(void), więc są to zmienne lokalne. Zmienne lokalne muszą być zainicjowane, na przykład uint8_t cy1 = 0;

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


    Jak zrobisz clean projektu to zobaczysz ile masz warningów. Staraj się pisać tak, by po cleanowaniu, nie było ani jednego. ;)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 15 lis 2017, o 00:10 
    Offline
    Użytkownik

    Dołączył(a): 08 cze 2016
    Posty: 204
    Lokalizacja: Katowice
    Pomógł: 0

    Timery programowe inkrementacja sekund w przerwaniu tylko jak to zrobić przerwanie obsługuje już wyświetlacz led , co się tyczy reszty dzięki za słuszne uwagi pierwsza  keylock1 za pierwszym razem właśnie ta zrobiłem w drugim przycisku ale program nie działał więc zmieniłem na  keylock ale teraz wiem gdzie tkwi błąd  .

    Poz



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