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 13 lip 2025, o 23:32


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
    Autor Wiadomość
    PostNapisane: 27 paź 2017, o 20:59 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 19 lis 2015
    Posty: 219
    Pomógł: 20

    Cześć.

    Mam tablicę wskaźników do funkcji. Żeby wywołać daną funkcję muszę odwołać się do konkretnego elementu tablicy:

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

    Jak w nawiasach [] mam wartość stałą to wtedy działa jak powinno, wywołuje odpowiednią funkcję. Jeżeli natomiast chcę zastąpić indeks tablicy zmienną "licznik" program nie działa.

    Dlaczego tak się dzieje??

    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.



    Ostatnio edytowano 27 paź 2017, o 21:32 przez jez2000, łącznie edytowano 1 raz

    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 paź 2017, o 21:20 
    Offline
    Użytkownik

    Dołączył(a): 14 sie 2016
    Posty: 905
    Pomógł: 39

    Spróbuj zmienną licznik zmienić na int.

    _________________
    Moje porady są błędne,nie czytać,zbanować od razu.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 paź 2017, o 21:29 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 19 lis 2015
    Posty: 219
    Pomógł: 20

    nie pomogło

    zrobiłem tak:

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


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


    i działa ale nie wiem czy jest to "zgodne ze sztuką" :)


    Coś mi dzwoni, że p. Mirek pisał o tym w BB ale nie mogę tego odszukać.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 paź 2017, o 12:49 
    Offline
    Użytkownik
    Avatar użytkownika

    Dołączył(a): 19 lis 2015
    Posty: 219
    Pomógł: 20

    roske napisał(a):
    Przypuszczam, że to nie karkołomne akrobacje z rejestracją callbacka "naprawiły" tablicę funkcji tylko zastosowanie makra pgm_read_*. Wstaw te makro do wersji nr 1 a też zadziała.


    Nie zadziałało.

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


    otrzyuję błąd, że indeks tablicy nie jest integer.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 29 paź 2017, o 13:47 
    Offline
    Użytkownik

    Dołączył(a): 07 cze 2016
    Posty: 563
    Pomógł: 143

    Myślę, że kolega roske dobrze Ci podpowiada, tylko Ty robisz to jakoś nie tak.

    Jak stworzysz tę tablicę w pamięci RAM (czyli usuniesz atrybut PROGMEM), to polecenie tablica_wskaznikow[licznik](20); będzie działać.

    Jeśli chcesz te wskaźniki mieć koniecznie we FLASH to moim zdaniem lepiej zrobić np. tak:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


    a najlepiej, to użyć kwalifikatora __flash i wtedy:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    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: 5 ] 

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