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 5 maja 2025, o 20:23


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 7 ] 
    Autor Wiadomość
    PostNapisane: 26 wrz 2020, o 15:51 
    Offline
    Nowy

    Dołączył(a): 15 wrz 2020
    Posty: 4
    Pomógł: 0

    Witam,
    Po przestudiowania BB zabrałem się za GB i w rozdziale "Nadajnik podczerwieni- własne piloty" i " Transmisja własnych danych w podczerwieni" nie mogę dojść do tego dlaczego piny dla klawiszy są ustawione na wyjście?

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


    a następnie w pętli while jest sprawdzany warunek :

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


    Chodzi mi o poprawność zapisu, czy nie powinno być "DDRx &= ~(KL1|KL2);" lub pominięte ze względu na zerowanie rejestru DDRx po resecie?
    Oczywiście ustawiając piny dla klawiszy na wyjście (jak w przykładzie) i podając stan wysoki, po "ściągnięciu" pinu do masy (czyli w naszym przypadku wciśnięcie przycisku), w rejestrze PINx na pozycji danego pinu będzie "0" lecz czy to jest prawidłowa metoda?
    Oczywiście obie metody testowałem i wszystko działa lecz zakładam, że skoro piny klawiszy zostały ustawione na wyjście w przykładach to jest w tym jakiś większy cel którego nie mogę dostrzec.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 wrz 2020, o 16:40 
    Offline
    Użytkownik

    Dołączył(a): 02 gru 2015
    Posty: 550
    Pomógł: 28

    Przeczytaj ten rozdział jeszcze raz bo one nie bez powodu są ustawione na wyjścia (chodzi o wybudzanie procka).



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 wrz 2020, o 17:02 
    Offline
    Nowy

    Dołączył(a): 15 wrz 2020
    Posty: 4
    Pomógł: 0

    Wybudzanie procka było w BB i wtedy jak najbardziej uzasadnione było początkowe ustawienie pinów na wyjście, gdyż przyciski połączone były z pinem INTx. W dziale o którym piszę nie ma mowy o takim zastosowaniu.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 26 wrz 2020, o 18:38 
    Offline
    Moderator
    Avatar użytkownika

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

    blendski napisał(a):
    i wszystko działa lecz zakładam, że skoro piny klawiszy zostały ustawione na wyjście w przykładach to jest w tym jakiś większy cel którego nie mogę dostrzec.

    podaj nr strony i miejsce w książce i który to przykład w kodach z GB - wtedy łatwiej będzie mi ew zajrzeć i sprawdzić bo chyba nie sądzisz, że po tylu latach od napisania książki mogę pamiętać takie szczegóły

    _________________
    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: 27 wrz 2020, o 09:16 
    Offline
    Nowy

    Dołączył(a): 15 wrz 2020
    Posty: 4
    Pomógł: 0

    mirekk36 napisał(a):
    podaj nr strony i miejsce w książce i który to przykład w kodach z GB - wtedy łatwiej będzie mi ew zajrzeć i sprawdzić bo chyba nie sądzisz, że po tylu latach od napisania książki mogę pamiętać takie szczegóły

    Chodzi mi dokładnie o stronę 68 w GB (przykład L04_nadajnik_SIRCS), gdzie piny klawiszy są ustawione na wyjście w funkcji main, a następnie w pętli while sprawdzany jest warunek wciśniętego klawisza:

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


    tak samo wygląda sytuacja na stronie 74 (przykład L05_transmisja_IR - tylko inne piny zostały zastosowane względem przykłady L04, ale wygląda to tak samo jak opisałem wyżej).
    Dodam właśnie, że wgrywałem na moje ATB 1.05a program z książki oraz z zamienionym kierunkiem pinów na wejścia i oba sposoby działały ale rozchodzi mi się o to czy w książce jest jakiś konkretny powód, żeby ustawić te piny klawiszy na wyjście. Cały kod dokładnie analizowałem i nie mogę do tego dojść, gdyż nigdzie nie widzę aby te piny były w jakimś przerwaniu czy w innym miejscu ustawione na wejście.



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
    PostNapisane: 27 wrz 2020, o 09:40 
    Offline
    Moderator
    Avatar użytkownika

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

    Qurczę to ewidentny błąd - taka programistyczna literówka - oczywiście, że nie powinno być tak:


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


    tylko jak już to albo tak

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


    albo w ogóle mogłoby nie być tej linijki, bo piny są po restarcie i tak wejściami ... Zwykle takie błędziorki zdarzają się gdy kopiuję jakiś fragment kodu z innego ćwiczenia i przerabiam pod inne ćwiczenie - a coś pominę - no i tu chyba mocno pominąłem, albo z rozpędu wszystko na wyjścia ustawiłem, przepraszam.

    To że działa to z ustawionymi pinami na wyjścia to bardzo niedobrze - bo przyciskiem robi się zwarcie do GND, rejestr PIND może to wykrywać czyli ten stan niski, no ale jest to niezdrowe dla fizycznych pinów procka i przy dłuższym wciśnięciu przycisku może nawet dojść do uszkodzenia pinu procka. Więc zgodnie z tym co czujesz i ze swoją wątpliwością popraw to w kodzie bo masz rację, że w tym kodzie jest coś nie tak.


    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: 27 wrz 2020, o 12:07 
    Offline
    Nowy

    Dołączył(a): 15 wrz 2020
    Posty: 4
    Pomógł: 0

    Bardzo dziękuję za odpowiedź, nie będzie mnie już ta zagadka męczyć :)



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

    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