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 12:00


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 5 ] 
    Autor Wiadomość
    PostNapisane: 16 cze 2015, o 18:11 
    Offline
    Nowy
    Avatar użytkownika

    Dołączył(a): 28 lis 2014
    Posty: 14
    Pomógł: 0

    Witam. Walczę z 1wire samemu i załóżmy, że mam 1wire na 4 Pinach procesora. Tak sobie wymyśliłem i nazywają się kolejno DI[0..3] i teraz moje pytanie jest następujące. czy dla każdego z PINów muszę powielać nazwe funkcji?
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

    Chciałbym np w deklaracji funkcji móc wpisać np numer DDR, PORTu i PINU procka które są przechowywane w makrach w takiej postaci

    Kod:
    #define DI3_PORT PORTA
    #define DI3_DDR DDRA
    #define DI3_PIN PINA
    #define DI3_PINn PA3


    Mam nadzieję, że jasno się wyraziłem:) Z góry mówię, że nie posiadam żadnego z Booków może uczę się naokoło ale staram się:)



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 cze 2015, o 18:37 
    Offline
    Użytkownik

    Dołączył(a): 04 paź 2011
    Posty: 8615
    Pomógł: 338

    niestety ale jak chcesz sobie tak utrudniać to musisz uruchomić 1Wire dla każdego z pinów ...
    niby łatwiej potem (mawiają co niektórzy) zapanować nad tym gdzie jest jaki czujnik , ale taka praktyka
    niepotrzebnie marnuje piny i zabija magistralę 1Wire ... bo cały sęk w tym i tak to stworzono
    by wiele czujników wisiało na 1 pinie .....

    _________________
    Zbuduj swój system [url=https://helion.pl/ksiazki/w-labiryncie-iot-budowanie-urzadzen-z-wykorzystaniem-ukladow-esp8266-i-esp32-andrzej-gromczynski,wlablo.htm#format/d]IOT[/url]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 cze 2015, o 18:42 
    Offline
    Nowy
    Avatar użytkownika

    Dołączył(a): 28 lis 2014
    Posty: 14
    Pomógł: 0

    SunRiver wiem o tym, tylko chodzi o to, że mam na przykład 4 maszyny dla każdej np po 4 czujniki temp. kazdą maszynę chce na osobnym pinie.
    Dlatego stworzyłem sobie makra Di3_PORT DI2_PORT id. i teraz nie chce pisać sobie pliku *.c gdzie mam funkcje DI3_reset(); DI2_reset();
    Wolałbym sobie DI_reset((xyz) port) nie wiem co wstawić zamiast (xyz) aby przekazywać dane z makra do funkcji.

    I czysto teoretycznie robie to dla nauki;)

    EDIT: A dodatkowo samo powielenie funkcji dodaje 0.2% FLASH dla ATMEGI32.

    EDIT2: Dobra zrobiłem to w zupełnie inny sposób. Po prostu dodałem instrukcje warunkową #if defined(DI0_ENABLE) #endif i tak dla każdego. z wejść. Zamysł ten sam tylko, że niestety trzeba powtarzać nazwy funkcji w pliku



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 16 cze 2015, o 19:46 
    Offline
    Użytkownik

    Dołączył(a): 20 wrz 2013
    Posty: 647
    Zbananowany użytkownik

    Pomógł: 101

    To co jest zmienne przenieś do parametrów funkcji, np. jakoś tak:

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

    Wywołanie:

    Składnia: [ Pobierz ] [ Ukryj ]
    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: 16 cze 2015, o 20:02 
    Offline
    Nowy
    Avatar użytkownika

    Dołączył(a): 28 lis 2014
    Posty: 14
    Pomógł: 0

    Na pewno przetestuje sam jestem ciekaw jak to wyjdzie z zajętością pamięci.



    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 3 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