• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Zawieszanie UNO przy pakietach UDP
#1
Dzień dobry,
dla znajomego chciałem wykonać projekt na UNO z licznikiem od Mazdy RX-8. 
Korzystając z projektu https://gitlab.com/christiangroleau/rx8-arduino udało mi się wszystko uruchomić ale mam dziwny problem.
Po starcie Arduino program działa przez parę sekund po czym się wiesza. Dzieje się tak gdy dostaje dane z gry Forza. Nie ważne czy gra jest dopiero uruchomiona czy działa jakiś czas. 
Gdy uruchomię arduino i zacznę wysyłać stałe dane o prędkości i obrotach z podanego w projekcie symulatora przez 15 sekund a następnie wyłączę go i włączę grę to wszystko działa bez problemu. Mogę restartować grę i nic się nie stanie do czasu resetu arduino. 
Przy włączonym debug wypluwa mi wielkość pakietu udp na losowe cyfry np. -257 lub 6 cyfrowe liczby na plusie lub minusie. 
Podejrzewam, że mogą to być śmieci w pamięci podczas uruchamiania. W dobrym kierunku idę?

Sprzęt to Arduino UNO, shield ethernet na w5100 i moduł can na mcp2515.
 
Odpowiedź
#2
Zmień Arduino na inne, ale takie zachowanie to raczej jakieś błędy w pamięci, może jest za mało, może źle liczysz index tablicy i zapisujesz dalej za nią nadpisując inne ważne dane programu.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#3
Podejrzewam że gdybym nadpisywał dane lub wylatywał poza indexy to program by się wykładał cały czas. Czy się mylę? Tutaj tak dzieje się po starcie. Po puszczeniu danych testowych program działa bez problemów z różnymi danymi.
No nic trzeba kupić inne Arduino i spróbować
 
Odpowiedź
#4
Mi się wydaje że jaki program takie działanie, przy odbiorze nie ma sprawdzania co dostał i czy liczba która miała dojść jest liczbą. Wystarczy jakieś zakłócenie na lini i cały program się wiesza.
Arduino zostało wymyślone po to, by robić dobrze jedną prostą rzecz – migać diodą. 
 
Odpowiedź
#5
Tylko dlaczego zakłócenia miałyby występować tylko po uruchomieniu? Co najlepsze uruchomię sprzęt i będzie pasywnie (bez danych )stał przez godzinę i nic się nie stanie. Uruchomię grę i padnie. Zrobię reset, uruchomię testowe dane na 15 sekund i wyłączę. Mogę poczekać godzinę i po uruchomieniu gry wszystko będzie ok. Ostatnio 3 godziny gry i licznik działał prawidłowo. Zastanawiam się czy da radę po uruchomieniu nadpisywać dane w pamięci aby zasymulować zapis lub wyzerować wszystko.
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości