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 23 maja 2025, o 08:59


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 4 ] 
    Autor Wiadomość
    PostNapisane: 21 sie 2019, o 19:39 
    Offline
    Nowy

    Dołączył(a): 10 cze 2015
    Posty: 8
    Pomógł: 0

    Witam!
    Od pewnego czasu próbuję przejść z programowania AVR w czystym C do C++ (głównie chodzi o wzbogacenie się o klasy których mi brakuje) i mam problem z połączeniem klas i przerwań.

    Mam tu taki prosty program który powinien migać diodą led podłączoną do pinu PD7 a jednak nic się nie dzieje.
    Programuję ATmega328P taktowana wewnętrznie 8MHz.

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


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


    Z góry dziękuję za pomoc w rozwiązaniu problemu.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 21 sie 2019, o 21:43 
    Offline
    Użytkownik

    Dołączył(a): 26 mar 2014
    Posty: 34
    Pomógł: 11

    Zmienna statyczna musi być zdefiniowana na zewnątrz klasy i nie może być protected jak chcesz się odnieść do niej poza klasą.
    Składnia: [ Pobierz ] [ Ukryj ]
    język cpp
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 sie 2019, o 07:26 
    Offline
    Nowy

    Dołączył(a): 10 cze 2015
    Posty: 8
    Pomógł: 0

    A możesz mi podać przykład jak to dokładnie zrobić bo nie bardzo rozumiem. Zadeklarowałem tą zmienną na zewnątrz klasy. w Klasie sekcje protected zmieniłem na public ale jednak dalej nie działa. Program kompiluje się prawidłowo, ale dioda nie miga.

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



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 22 sie 2019, o 21:18 
    Offline
    Użytkownik

    Dołączył(a): 26 mar 2014
    Posty: 34
    Pomógł: 11

    Dioda nie miga dlatego że w tym momencie wskaźnik pTimer jest równy 0 i gdy odnosisz się do zmiennej led_flag przez Timer::pTimer->led_flag program próbuje odwołać się do zmiennej pod adresem 0. Musisz jeszcze zaincjalizować wskaźnik pTimer np w konstruktorze klasy wskaźnikiem this.
    Składnia: [ Pobierz ] [ Ukryj ]
    język cpp
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    Autor postu otrzymał pochwałę


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