Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
ten właśnie nie chce chodzić na tym porcie mam cztery klawisze, diodę, odbiornik radiowy i ds. i właśnie chodzi o przerwanie od desa żeby nie blokowało przerwania od odbiornika radiowego
1. To w ogóle nie jest zainicjalizowane poprawnie przerwanie żeby mogło działać z PCINT0 i nigdy nie zadziała w takiej postaci ten IF w pętli głównej 2. Pomijam ten znak | przy kasowaniu flagi bo to już się wyjaśniło
Później piszesz niby swój poprawiony kod i on wygląda teraz jak ?
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Powiedz mi - skoro walczysz - to po choinkę teraz wpeklowałeś tego if'a z tym jakimś mu==0 ? Wywal to w diabły i doprowadź kod do podstawowego stanu testowego czyli użyj Debugera na JEDNEJ diodzie LED. Tym bardziej, że twoje opisy są bardzo mało precyzyjne bo piszesz np że próbowałem nawet TAK podając, właśnie ten przykład inicjalizacji poprawnej wyżej, tak jakbyś uznawał że nie ma to znaczenia czy jest ta linia PCMSK0 |= ( 1 << PCINT7 ); czy jej nie ma ... No bez niej w ogóle nie może to działać, więc jeśli ci nie działa to znaczy, że błąd masz dalej i naucz się go właśnie szukać doprowadzając kod do najprostszej postaci jak niżej
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Teraz jak zrozumiesz z poradnika wideo o debugerze na jednej diodzie LED o co chodzi, to w tym przykładowym kodzie sam zaobserwujesz czy zapala się i gasi ci ta dioda czy nie w tym IF'ie ! Więc sprawdź - bo jak będzie migać to wtedy wiesz, że przerwanie prawidłowo działa - a ty sobie analizuj dalej swój if( mu==0 ) ....
Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 2 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