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 4 cze 2025, o 01:46


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
    Autor Wiadomość
    PostNapisane: 21 sty 2015, o 16:03 
    Offline
    Użytkownik

    Dołączył(a): 23 sty 2014
    Posty: 1085
    Pomógł: 73

    Witam, koledzy mam takie pytanie. Chcąc zwiększać zmienną w przerwaniu i używać potem tej zmiennej w funkcji main nalezy posłużyć się specyfikatoerm Volatile. A co jeśli zrobi się tak jak w poniższym kodzie tzn. w przerwaniu wywołam sobie funkcję a potem w funkcji użyję zwykłej zmiennej (bez volatile)?

    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.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 sty 2015, o 16:08 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27406
    Lokalizacja: Szczecin
    Pomógł: 1043

    A czym to się różni że w przerwaniu wywołasz funkcję ? od tego czy to samo co w funkcji napiszesz w przerwaniu ? .... spróbuj to sobie jakoś sam wyjaśnić a znajdziesz sam odpowiedź .... że NICZYM się nie różni

    co więcej - robisz niepotrzebny narzut czasowy - na rozkazy CALL i RET (czyli skok do funkcji i powrót) .... ale to gdyby funkcja była dłuższa bo .... i teraz UWAŻAJ, przy takim kodzie jak wyżej napisałeś - to gdybyś podejrzał kod asemblera po kompilacji to byś się srogo zdziwił - ponieważ okazałoby się że kompilator sam usunąłby w ogóle twoją funkcję a inkrementację normalnie wcielił do kodu przerwania - czyli reasumując dokonałby w ramach optymalizacji operacji INLINE dla takiej funkcji

    myślę, że to DOBITNIE ci wyjaśnia - że NIE MA ŻADNEJ różnicy i dlaczego jeśli korzystasz ze zmiennej w przerwaniu i w pętli głównej programu to ZAWSZE musi być volatile


    Autor postu otrzymał pochwałę

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 sty 2015, o 16:12 
    Offline
    Użytkownik

    Dołączył(a): 23 sty 2014
    Posty: 1085
    Pomógł: 73

    wszystko jasne bardzo dziękuję. A mam takie pytanie jeszcze. Kod programu w przerwaniu może być dowolnie długi?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 sty 2015, o 16:14 
    Offline
    Moderator
    Avatar użytkownika

    Dołączył(a): 03 paź 2011
    Posty: 27406
    Lokalizacja: Szczecin
    Pomógł: 1043

    Jarecki napisał(a):
    wszystko jasne bardzo dziękuję. A mam takie pytanie jeszcze. Kod programu w przerwaniu może być dowolnie długi?


    Proszę cię obejrzyj ten poradnik
    http://mirekk36.blogspot.com/2013/12/pr ... acego.html

    być może troszkę dużo tam humoru - ale poruszam ważne kwestie właśnie jeśli chodzi o przerwania i czas ich wykonywania. Niezrozumienie tego zwykle prowadzi do samych problemów i zniechęcania się początkujących programistów


    Autor postu otrzymał pochwałę

    _________________
    zapraszam na blog: http://www.mirekk36.blogspot.com (mój nick Skype: mirekk36 ) [ obejrzyj Kurs EAGLE ] [ mój kanał YT TV www.youtube.com/mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 sty 2015, o 16:16 
    Offline
    Użytkownik

    Dołączył(a): 23 sty 2014
    Posty: 1085
    Pomógł: 73

    ale Panie Mirku ja uwielbiam ten Pana humor w poradnikach :) fajnie Pan mówił przy diodach WS2812 że najadają się bitami :D

    ------------------------ [ Dodano po: kilkunastu sekundach ]

    Bardzo chętnie obejrzę:) jeszcze raz dziękuję za pomoc



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

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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