Witam, walczę od rana z tym problemem, nie wiem co można zrobić dlatego mam nadzieje że poradzicie mi tutaj.
Do rzeczy, buduje ploter, taki do rysowania, nic nadzwyczajnego. Po prostu chce się rozwinąć w kwestii programowania. Zrobiłem analize G-codu (generowanego z Inkscape) + wizualizacje. Wszystko ładnie pięknie chodzi.
Na komputerze z takiej lini kodu G1 X-2.48 Y-116.26 F3500.00
konwertuje ją przykładowo do takiej.
X100
D1
Y500
R0 W której X i Y to ilość kroków a D i R to kierunki silników. Wysyłam taką ramkę danych do arduino. Problem zaczyna się gdy w arduino zaczynam sobie rozbijać tą ramkę i wyciągać wartości. Przesył danych po prostu się zatrzymuje w pewniej chwili. Zawsze jest to ten sam moment.
Poniżej kod z Arduino, zapewne mnie zjedziecie że słabo to wyciągam, ale nie jestem jakiś mega dobry w programowaniu a miałem tylko taki pomysł na język C.
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Program napisany na kompie czeka na znak "1". Jak go otrzyma (czyli wtedy gdy paczka danych zostanie przeanalizowana na arduino) to wtedy wysyła kolejną paczkę. W kodzie mam wykomentowane wyświetlanie danych i przeszukiwanie(ale domyślnie tak nie ma być). Jeśli arduino nic nie musi analizować to mogę wrzucać tam tak duże pliku jak tylko chce i nic sie nie dzieje. Ale przecież nie o to chodzi. Próbowałem z czyszczeniem buforów Serial ale to nic nie dało. Program generalnie się nie zawiesza na początku pętli dałem miganie diodą i poza tym jak program przestał odbierać dane to dioda nadal migła wiec na pewno procek się nie zwiesza cały.
Mam nadzieje że pomożecie