Witam,
zdaję sobie sprawę że wiele razy zakładany był temat związany z odkodowywaniem RC5 na avr. Postanowiłem jednak założyć swój, ponieważ mam dziwne problemy z tą transmisją. Używam mini pilota uniwersalnego który bez problemu komunikuje się z moim tv Sony i korzystałem już z niego kilka razy w projektach własnych. Niestety teraz kiedy jestem w trakcie realizacji nowego projektu pilot świruje.
Korzystam z takiego kodu:
Wysyłam przez uart literkę "a" na początku funkcji main. W przerwaniu zewnętrznym wysyłam literkę "i" żeby wiedzieć czy w ogóle wchodzę do przerwania. No i literkę "f" chciałem wysyłać w momencie kiedy zostanie odebrana jakakolwiek komenda. Kod ten działał w moich poprzednich konstrukcjach ale tam korzystałem z Atmega8 a tutaj z Atmega32. Zmieniła odpowiedni bity w rejestrach dotyczących przerwania. Odbiornik TSOP4836 podłączony jest do nóżki PD3. Kiedy wciskam przycisk na pilocie to napięcie na nóżce danych odbiornika spada z 4.99V to 4.55V i pomimo to mikrokontroler nie wykrywa przerwania. Kiedy natomiast zewrę nóżkę danych z masą to przerwanie zostaje natychmiast wykryte i pojawia się literka "i".
Przelutowywałem już jeden odbiornik bo wcześniejszy działał i przestał, nowy nie działał aż w końcu dzisiaj na chwilę zaskoczył i teraz znów nie działa. Pilot cały czas bez problemu jest wykrywany przez telewizor.
Muszę mieć obsługę pilota na przerwaniu zewnętrznym, tego wymaga projekt.
Z góry dziękuję za pomoc przy rozwiązaniu tego problemu.
zdaję sobie sprawę że wiele razy zakładany był temat związany z odkodowywaniem RC5 na avr. Postanowiłem jednak założyć swój, ponieważ mam dziwne problemy z tą transmisją. Używam mini pilota uniwersalnego który bez problemu komunikuje się z moim tv Sony i korzystałem już z niego kilka razy w projektach własnych. Niestety teraz kiedy jestem w trakcie realizacji nowego projektu pilot świruje.
Korzystam z takiego kodu:
Kod: C / C++
Wysyłam przez uart literkę "a" na początku funkcji main. W przerwaniu zewnętrznym wysyłam literkę "i" żeby wiedzieć czy w ogóle wchodzę do przerwania. No i literkę "f" chciałem wysyłać w momencie kiedy zostanie odebrana jakakolwiek komenda. Kod ten działał w moich poprzednich konstrukcjach ale tam korzystałem z Atmega8 a tutaj z Atmega32. Zmieniła odpowiedni bity w rejestrach dotyczących przerwania. Odbiornik TSOP4836 podłączony jest do nóżki PD3. Kiedy wciskam przycisk na pilocie to napięcie na nóżce danych odbiornika spada z 4.99V to 4.55V i pomimo to mikrokontroler nie wykrywa przerwania. Kiedy natomiast zewrę nóżkę danych z masą to przerwanie zostaje natychmiast wykryte i pojawia się literka "i".
Przelutowywałem już jeden odbiornik bo wcześniejszy działał i przestał, nowy nie działał aż w końcu dzisiaj na chwilę zaskoczył i teraz znów nie działa. Pilot cały czas bez problemu jest wykrywany przez telewizor.
Muszę mieć obsługę pilota na przerwaniu zewnętrznym, tego wymaga projekt.
Z góry dziękuję za pomoc przy rozwiązaniu tego problemu.