Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 25 lut 2025, o 17:00


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 14 ] 
Autor Wiadomość
 Tytuł: RC5
PostNapisane: 19 mar 2015, o 15:10 
Offline
Użytkownik

Dołączył(a): 23 lut 2015
Posty: 30
Zbananowany użytkownik

Pomógł: 0

cześc
mama pytanie o rc5. mirek w swojej zielonej książce kod do rc5 powołał sobie zmienną rc5cnt która liczyła przerwania.I reagował poleceniem if ( (rc5cnt % 2) == 0 ) aby znaleść się w środku bitu i wtym czasie sprawdzał zbocze i rozpoznawał bity które pakował do bufora.

Ja nie rozumiem tego dla pewnej sekwencji bitów
przedstawiam rysunek na dole.
O tóż wchodzimy w przerwanie nasz bit jest równy 0 no i faktycznie jesteśmy w środku tak samo dla następnego.ale gdy po 2 jedynkach mamay zero i jeden to zero pominiemy bo liczba rc5cnt =3 czyli nie będziemy w środku
o co tu chodzi
wartośc rc5cnt jest na rysuku

Obrazek

Rysunek jest uproszczony



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: RC5
PostNapisane: 19 mar 2015, o 22:11 
Offline
Moderator
Avatar użytkownika

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

Zwróć uwagę na operację modulo, teraz tak piszę tylko ledwo co pamiętając oczywiście bo pisałem to bardzo dawno temu ... ale sprawdzamy co drugi raz i określamy czy był bit 0 czy 1 na podstawie tego jakie zbocze było ustawione

_________________
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: RC5
PostNapisane: 20 mar 2015, o 13:36 
Offline
Użytkownik

Dołączył(a): 23 lut 2015
Posty: 30
Zbananowany użytkownik

Pomógł: 0

Wiem co oznacza modulo, ale wytłumacz mi dla tego konkretnego przykładu bo tam ewidentnie widac ze pomijamy jeden bit.

O co tu chodzi.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: RC5
PostNapisane: 20 mar 2015, o 13:47 
Offline
Moderator
Avatar użytkownika

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

Ale jaki bit pomijamy ? ;) żadnego nie pomijamy ... oczywiście licząc od bitu TOGGLE bo to pierwszy ważny dla nas bit

Ja myślę, że ty pomijasz w swoich rozważaniach tę linię

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


która jest przed tym IF'em z modulo

a właśnie ta linia załatwia nam prawidłowe badanie wartości kolejnych bitów łącznie z tym modulo.

_________________
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: RC5
PostNapisane: 20 mar 2015, o 22:10 
Offline
Użytkownik

Dołączył(a): 23 lut 2015
Posty: 30
Zbananowany użytkownik

Pomógł: 0

ok zaczaiłem :D



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: RC5
PostNapisane: 23 mar 2015, o 17:19 
Offline
Użytkownik

Dołączył(a): 23 lut 2015
Posty: 30
Zbananowany użytkownik

Pomógł: 0

Ten kod mi nie działa czy mógłby ktoś rzucić na to okiem.

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.


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: RC5
PostNapisane: 23 mar 2015, o 23:48 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 16 lut 2014
Posty: 96
Lokalizacja: Łódź
Pomógł: 6

Jaki procek? Atmega32?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: RC5
PostNapisane: 24 mar 2015, o 13:53 
Offline
Użytkownik

Dołączył(a): 23 lut 2015
Posty: 30
Zbananowany użytkownik

Pomógł: 0

Atmega 32 na 8 Mhz



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: RC5
PostNapisane: 25 mar 2015, o 17:28 
Offline
Użytkownik

Dołączył(a): 23 lut 2015
Posty: 30
Zbananowany użytkownik

Pomógł: 0

Czy moglibyscie mi pomóc przunajmniej naprowadzić mnie gdzie jest błąd



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: RC5
PostNapisane: 25 mar 2015, o 20:52 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 16 lut 2014
Posty: 96
Lokalizacja: Łódź
Pomógł: 6

Przejrzałem ten kod, ale póki co nic nie zwróciło mojej uwagi.

Inicjalizacja i zdarzenie wyglądają raczej ok, więc problem będzie pewnie leżał w przerwaniu. Dla pewności zakomentuj ISR-a i, jeśli masz mirkową procedurę obsługi przerwania, to wklej ją i spróbuj odpalić całość.

Spróbuj zrobić sobie debugger z diody led i sprawdź na początku, czy program wchodzi Ci w procedurę obsługi przerwania. Potem ewentualnie wstawiaj instrukcje zapalające diodę/diody do kolejnych ifów wewnątrz procedury. Przerwanie niestety jest bardzo krótkie, ale da się z niego "wyciągnąć" stany diod-debuggerów przy drobnej edycji.

Niestety nie mam obecnie chwili, żeby samemu całą procedurę zdebuggować na swoim zwierzaku...



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: RC5
PostNapisane: 25 mar 2015, o 23:53 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 16 lut 2014
Posty: 96
Lokalizacja: Łódź
Pomógł: 6

Na pewno VARIABLE możesz uczynić stałą dosłowną, żeby nie tracić w przerwaniu czasu na tworzenie zmiennej na stosie.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: RC5
PostNapisane: 27 mar 2015, o 16:00 
Offline
Użytkownik

Dołączył(a): 23 lut 2015
Posty: 30
Zbananowany użytkownik

Pomógł: 0

Okej
Dzięki za odpowiedz. ale póżniej będę chciał zrobić coś takiego że jak impuls będzie za krótki to zwracam 1 a jak za długi to 2 a jak bity startowe się nie zgadzają to 3 i wyświetlam na wyświetlaczu co jest przyczyną błędu więc nie czynie to stałą dosłowną ale masz racje tylko wiesz chce po prostu pózniej ulepszyć kod więc coś takiego mi wpadło do głowy.

Wydaje mi się że mój broblem tkwi w tym że gdy już odbiore ramke to do statusu wpisuje variable a poniżej mam że jeżeli status ma variable to zeruje bufor a skąd zdarzenie ma odczytać bufor trzeba dać na początku przerwania linie która zeruje bufor jeśli wystąpił błąd

------------------------ [ Dodano po: 54 minutyach ]

Poprawiłem kod zamieniłem też miejscami poszczególne części kodu bo gdy sprawdzam bit to po pierwszym impulsie a bit ma 2 impulsy poprawiłem ten też bufor który kasowałem ale nadal nie działa.
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.


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: RC5
PostNapisane: 27 mar 2015, o 22:01 
Offline
Użytkownik

Dołączył(a): 23 lut 2015
Posty: 30
Zbananowany użytkownik

Pomógł: 0

Dodra sory że przedstawiwam znów kod ale już wszystko poprawiłem to co uważam za błąd
Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


------------------------ [ Dodano po: 9 minutach ]

ale nadal mi nie działa



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: RC5
PostNapisane: 28 mar 2015, o 21:35 
Offline
Użytkownik

Dołączył(a): 23 lut 2015
Posty: 30
Zbananowany użytkownik

Pomógł: 0

A jeszcze na końcu powinno być TCNT1=0; żeby wyzerować licznik timera 1.

------------------------ [ Dodano po: 2 minutach ]

A i jescze żeby ustawić reakcje na zbocze opadające to powinno być
if(STATUS==VARIBLE)
{
//reakcja na zbocze opadające
}



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

Strefa czasowa: UTC + 1


Kto przegląda forum

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