Cześć, chciałem przeportować kod do odbioru RC5 autorstwa Dondu za ATMega8 na ATTiny13 - Link. Zauważyłem, że rejestry mają nieco inne nazwy, i dokonałem drobnych modyfikacji:
main.c:
dd_rc5.h:
dd_rc5.c:
Jak widać nie zmieniłem nic oprócz tych nazw rejestrów, i definicji pinów LED'ów.
Hardware:
No tu raczej nie ma się jak pomylić, bo układ jest naprawdę prosty. Odbiornik podczerwieni to TSOP4836. Zasilanie filtrowane, stabilizowane, odbiornik zgodnie z Datasheetem.
REzystory diod 470Ω, nie zmieniłem na schemacie.
Pilot samoróbka, ale 100% pewniak.
No więc w czym problem? Uruchomiłem przykład na ATMega8, wszystko pięknie śmiga. Program kompiluje się dla Tiny13 bez błędów i ostrzeżeń. Jednak program nie działa - po wciśnięciu przycisku na pilocie widać jak dioda przerwania zaświeca się na moment i gaśnie. Ale diody danych i toggle bita nawet nie migną.
Co może być nie tak?
No ja niestety nie mam pojęcia.
Moja teoria: brakuje pamięci RAM w Tiny13?
main.c:
Code: c
dd_rc5.h:
Code: c
dd_rc5.c:
Code: c
Jak widać nie zmieniłem nic oprócz tych nazw rejestrów, i definicji pinów LED'ów.
Hardware:
No tu raczej nie ma się jak pomylić, bo układ jest naprawdę prosty. Odbiornik podczerwieni to TSOP4836. Zasilanie filtrowane, stabilizowane, odbiornik zgodnie z Datasheetem.

REzystory diod 470Ω, nie zmieniłem na schemacie.
Pilot samoróbka, ale 100% pewniak.
No więc w czym problem? Uruchomiłem przykład na ATMega8, wszystko pięknie śmiga. Program kompiluje się dla Tiny13 bez błędów i ostrzeżeń. Jednak program nie działa - po wciśnięciu przycisku na pilocie widać jak dioda przerwania zaświeca się na moment i gaśnie. Ale diody danych i toggle bita nawet nie migną.
Co może być nie tak?
No ja niestety nie mam pojęcia.
Moja teoria: brakuje pamięci RAM w Tiny13?