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 17 maja 2025, o 14:53


    Strefa czasowa: UTC + 1





    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 
    Autor Wiadomość
     Tytuł: Dekoder RC5
    PostNapisane: 14 cze 2016, o 11:38 
    Offline
    Nowy

    Dołączył(a): 20 gru 2015
    Posty: 19
    Pomógł: 0

    Również przerabiam teraz kod dotyczący dekodera rc5 str.307 rozdział 5.12 Odbiór kodów RC5 w podczerwieni i prosiłbym o wytłumaczenie kodu pliku "ir_decode.c" nie potrafię go ogarnąć, nie ukrywam sprawia mi problem jego zrozumienie, miałbym prośbę do kogoś kto ma chęć wytłumaczyć linijka po linijce jak zachowuje się kod.

    [ Panie kochany na litość boską - masz kod w książce ? to dobrze - ja też go mam, i 99% użytkowników tego forum ma ten kod to po co wklejasz kody bibliotek na forach niezgodnie z prawem autorskim zresztą - o czym mowa w stopce na pierwszej stronie redakcyjnej książki, którą masz w ręku ...

    Tym sposobem każdy udostępniłby po jednej bibliotece na forach i po co mi pisać książki ? zastanawiałeś się kiedyś nad tym ? Pomyśl o tym proszę na przyszłość za nim ochoczo opublikujesz na tym albo na innym forum kod źródłowy bibliotek z książki oK? gorąco o to proszę - mirekk36 ]



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
     Tytuł: Re: Dekoder RC5
    PostNapisane: 14 cze 2016, o 13:28 
    Offline
    Moderator
    Avatar użytkownika

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

    a swoją drogą kod jest obszernie objaśniony w książce, i ja rozumiem doskonale że pomimo to można się gdzieś zaciąć bo coś jest nadal niejasne dla ciebie w książce - ale co za problem dopytać np o fragment kodu, który stanowi dla ciebie problem ze zrozumieniem - można wtedy nawet taki fragmencik wkleić na forum aby podeprzeć swoje pytanie .... Pytanie też warto sprecyzować a nie DOWALIĆ cały kod i napisać żeby ci wyjaśnić ? a to znaczy, że w książce NIC ? ani jednego zdania tego obszernego opisu do kodu nie zrozumiałeś ? Czyli co ? przepisać np ja mam tutaj cały ten rozdział ? To nadal pewnie nie zrozumiesz - ... dlatego lepiej chyba SPRECYZOWAĆ swoje pytanie albo pytania do książki hmmm ?

    _________________
    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  
     Tytuł: Re: Dekoder RC5
    PostNapisane: 15 cze 2016, o 11:18 
    Offline
    Nowy

    Dołączył(a): 20 gru 2015
    Posty: 19
    Pomógł: 0

    W procedurze obsługi przerwania używamy następujących zmiennych:
    Składnia: [ Pobierz ] [ Ukryj ]
    język c
    Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


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


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


    jeżeli licznik rc5cnt równa się =0 oznacza to że znajdujemy się na początku ramki danych w pierwszym bicie startowych na zboczu opadającym, zmienne IrData i IrPulseCount są 0, kolejny impuls sygnału jaki się spodziewamy powinien być narastający w drugim bicie startowym i w tym momencie zaczynamy zliczanie zbocz sygnału licznik rc5cnt zostaje zwiększony o jeden a status ramki przyjmuje wartość 2 czyli tak jakby ramka została odebrana. Następuje koniec procedury obsługi przerwania, dalsze warunki if już nie wchodzimy ponieważ frame_status=FRAME_END ale licznik rc5cnt ma już wartość 1. Teraz powinniśmy spodziewać się sygnału zbocza opadającego w drugim bicie startowym .... i tutaj się pogubiłem, nie wiem czy w tym momencie jak mamy reakcję na zbocze opadające to wchodzimy do procedury obsługi przerwania ISR(TIMER1_CAPT_vect) czy do funkcji void ir_init() ?



    Góra
     Zobacz profil  
    cytowanie selektywne  Cytuj  
     Tytuł: Re: Dekoder RC5
    PostNapisane: 15 cze 2016, o 13:16 
    Offline
    Moderator
    Avatar użytkownika

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

    ciscoc napisał(a):
    linika kodu której nie rozumie

    Zmienna PulseWidth jak sama nazwa wskazuje - mówi nam za każdym razem ile ms trwał stan niski albo wysoki w ramce danych - przechwytujemy to wprost z rejestru ICR1 a przecież zainicjowaliśmy Timer1 w ten sposób, że jedno jego tyknięcie mówi nam dzięki makrom - że trwa to 1 ms ;)

    Do późniejszych obliczeń zapamiętujemy jeszcze wartość ICR1 w zmiennej LastCapture (która po restarcie ma wartość = 0) a później zawsze wartość długości przedostatniego impulsu. Opisuję też to w książce. Jak chcesz lepiej zrozumieć to weź kartkę i ołówek i sam sobie rozrysuj najprostszą ramkę RC5 i staraj się po kolei sobie rysować w którym miejscu jesteś po wykonaniu przerwania i który czas bierzemy pod uwagę.

    ciscoc napisał(a):
    i tutaj się pogubiłem, nie wiem czy w tym momencie jak mamy reakcję na zbocze opadające to wchodzimy do procedury obsługi przerwania ISR(TIMER1_CAPT_vect) czy do funkcji void ir_init() ?

    Jak można z przerwania wejść do ir_init()? no coś ty ? toż ir_init() wywołujesz TYLKO RAZ na początku programu w MAIN.C przed pętlą główną i na tym koniec

    później działasz już tylko cały czas w przerwaniu

    mówię ci - kartka/ołówek i rysowanko - mi to pomogło i wielu czytelnikom też - nawet gdy o to samo tu pytali na forum bo jakbyś dobrze poszukał do IDENTYCZNE pytania już padały na tym forum

    _________________
    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  
     Tytuł: Re: Dekoder RC5
    PostNapisane: 16 cze 2016, o 11:02 
    Offline
    Nowy

    Dołączył(a): 20 gru 2015
    Posty: 19
    Pomógł: 0

    jeszcze prosiłbym o wyjaśnienie warunku
    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  
     Tytuł: Re: Dekoder RC5
    PostNapisane: 16 cze 2016, o 11:35 
    Offline
    Moderator
    Avatar użytkownika

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

    No przecież tu w zależności od tego jakie jest ustawione zbocze albo wsuwamy bit 1 albo 0

    ------------------------ [ Dodano po: 1 minucie ]

    przecież to proste maskowanie: (TCCR1B & (1<<ICES1))

    jeśli nie wiesz co to maskowanie to obejrzyj koniecznie:
    http://mirekk36.blogspot.com/2014/03/ma ... m-oka.html

    _________________
    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  
    Wyświetl posty nie starsze niż:  Sortuj wg  
    Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 6 ] 

    Strefa czasowa: UTC + 1


    Kto przegląda forum

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