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


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 1 ] 
    Autor Wiadomość
    PostNapisane: 30 lis 2014, o 01:59 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 03 lip 2012
    Posty: 238
    Pomógł: 5

    Witam

    Czasem zdarza się zamigać ledem w jakiejś częstotliwości którą odczyta ludzkie oko, po prostu najzwyklejsze miganie. Okazuje się że przykłady w większości oparte są na delay który marnuje czas - a ja chciałbym zaprezentować trochę inne podejście nie marnujące czasu.

    Najlepiej na przykładzie pokaże o co mi chodzi:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Wyżej popularne podejście do migania ledem co sekundę.

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


    Tak można fajnie mierzyć jakieś nie precyzyjnie odstępy czasowe nie zatrzymując głównej pętli aplikacji, w makrze BEGIN... argument pierwszy jest nazwą zmiennej pomocniczej i przy okazji nazwą sekcji kodu który ma się wykonać co zadany czas w argumencie drugim, jak nie trudno się domyślić są to milisekundy tzn co ile milisekund ma zostać wykonany kod pomiędzy BEGIN_WAITMS a END_WAITMS .
    To wszystko, a prostych zastosowań jest bardzo wiele, jak np wygaszanie LEDa po jakimś czasie, wyłączenie piszczyka po jakimś czasie itd itd.

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


    Bardzo dobrze się to sprawdza na mikrokontrolerach ARM gdzie praktycznie standardowo mamy przerwanie generowane co 1ms w celu inkrementacji SysTickCount, natomiast w AVR też to jest możliwe uzyskać taką zmienną.

    Pozdrawiam
    XBary



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

    Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 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