Witam.
Próbuję powoli nauczyć się pisania w ASM prostych programów na ATTINY13. Mam jednak problem z obsługą przerwań. Nie wiem, czy przyczyną jest błąd w programie, czy też nie umiem zasymulować przerwać w tym symulatorze.
Otóż w pewnym miejscu programu usypiam uP rozkazem SLEEP (wprowadzam uP w Power Down). Chcę go wybudzić przerwaniem od INT0, (czyli naciśnięciem klawisza). Ale jakoś się nie budzi. Stepowanie zatrzymuje się na tej linii kodu i stoi. Próbowałem różnych opcji: INT0 zboczem, PinChange, nawet uruchomiłem WatchDog Timer dla automatycznego wybudzenia, ale żadne z działań nie daje efektu.
Czy naciśnięcie klawisza symuluje się w oknie I/O przez kliknięcie bitu portu Pin np 0 ? Zmienia się wtedy kolor bitu, czyli zmienia się chyba jego wartość! Zatem powinno wystąpić przerwanie... (o ile jest dobrze skonfigurowane)
Co do WDT, to czy jest możliwość podglądniecia aktualnej wartości jego licznika? No bo jak w symulatorze doczekać się przerwania od WDR?
Nigdzie nie znalazłem w internecie jak się obsługuje ten symulator, jak zasymulować zdarzenia zewnętrzne.
Proszę o pomoc
P.S. Ten program nie robi nic konkretnego, to tylko test do nauki ASM
Próbuję powoli nauczyć się pisania w ASM prostych programów na ATTINY13. Mam jednak problem z obsługą przerwań. Nie wiem, czy przyczyną jest błąd w programie, czy też nie umiem zasymulować przerwać w tym symulatorze.
Otóż w pewnym miejscu programu usypiam uP rozkazem SLEEP (wprowadzam uP w Power Down). Chcę go wybudzić przerwaniem od INT0, (czyli naciśnięciem klawisza). Ale jakoś się nie budzi. Stepowanie zatrzymuje się na tej linii kodu i stoi. Próbowałem różnych opcji: INT0 zboczem, PinChange, nawet uruchomiłem WatchDog Timer dla automatycznego wybudzenia, ale żadne z działań nie daje efektu.
Czy naciśnięcie klawisza symuluje się w oknie I/O przez kliknięcie bitu portu Pin np 0 ? Zmienia się wtedy kolor bitu, czyli zmienia się chyba jego wartość! Zatem powinno wystąpić przerwanie... (o ile jest dobrze skonfigurowane)
Co do WDT, to czy jest możliwość podglądniecia aktualnej wartości jego licznika? No bo jak w symulatorze doczekać się przerwania od WDR?
Nigdzie nie znalazłem w internecie jak się obsługuje ten symulator, jak zasymulować zdarzenia zewnętrzne.
Proszę o pomoc
P.S. Ten program nie robi nic konkretnego, to tylko test do nauki ASM