Witam,
Borykam się od pewnego czasu z problemem bliżej nieokreślonym. Oczekiwane działanie opisałem poniżej:
Mikrokontroler (ATmega2560, umieszczona na płytce "chiński klon arduino") ma podłączony zestaw przycisków do wejść, oraz 8 diod led dla sygnalizowania statusu z drugiego mikrokontrolera. Ta płytka ma stanowić pilota, więc zmiany stanów na wejściach mają powodować wysłanie określonego polecenia po magistrali szeregowej, które potem będzie dekodowane przez inny uK - każdy odebrany rozkaz (za wyjątkiem "specjalnych") ma spowodować zmianę stanu logicznego na danym wyjściu na przeciwny, lub ewentualnie przesłanie tego samego polecenia dalej (to co "dalej" zostało sprawdzone i funkcjonuje prawidłowo). Problem objawia się w ten sposób, że niezależnie od tego, co zrobię na wejściach, na magistrali nie dzieje się kompletnie nic. Zakładam zatem że błąd tkwi gdzieś w programie (poniżej). Jest go sporo (jak dla mnie), ale mam nadzieję że komuś uda się wskazać co zrobiłem źle.
Że można wiele rzeczy zrobić inaczej lub efektywniej, jestem świadomy, ale na razie priorytetem jest sprawienie by to ruszyło
(Dla lepszej czytelności programów, wyciąłem z nich wszystkie zbędne, sobie tylko potrzebne komentarze i kawałki kodu pozostałe po licznych poprawkach)
Program "Pilota":
Program "Odbiornika":