Witam,
mam problem z transmisją za pomocą modułu UART. To co chcę osiągnąć to z poziomu Matlaba móc sterować wartością PWM podawaną na silnik. Algorytm działania jest następujący -> Z Matlaba wysyłam wartość (typu string) np. "1700". Mikrokontroler odbiera tą wartość, a po odebraniu jest odsyłana z powrotem do Matlaba. Problem jest taki, że poza odebraną wartością 1700 co jakiś czas odbieram np. '17', albo tym podobne. Czy mógł by ktoś pomóc? Pewnie to jakiś prosty błąd, nie potrafię sobie jednak z tym poradzić na chwilę obecną. Poniżej zamieszczam kod.
Funkcja main
Funkcja log_get_value
Funkcja send_value_dec
Funkcja uart_getc() + przerwanie - zapożyczone z książki pana Kardasia
Kod z Matlaba
Zamieszczam również zdjęcie obrazujące sytuację. Wybrany został fragment gdzie dane dość mocno szwankują.

mam problem z transmisją za pomocą modułu UART. To co chcę osiągnąć to z poziomu Matlaba móc sterować wartością PWM podawaną na silnik. Algorytm działania jest następujący -> Z Matlaba wysyłam wartość (typu string) np. "1700". Mikrokontroler odbiera tą wartość, a po odebraniu jest odsyłana z powrotem do Matlaba. Problem jest taki, że poza odebraną wartością 1700 co jakiś czas odbieram np. '17', albo tym podobne. Czy mógł by ktoś pomóc? Pewnie to jakiś prosty błąd, nie potrafię sobie jednak z tym poradzić na chwilę obecną. Poniżej zamieszczam kod.
Funkcja main
Kod: C / C++
Funkcja log_get_value
Kod: C / C++
Funkcja send_value_dec
Kod: C / C++
Funkcja uart_getc() + przerwanie - zapożyczone z książki pana Kardasia
Kod: C / C++
Kod z Matlaba
Kod: C / C++
Zamieszczam również zdjęcie obrazujące sytuację. Wybrany został fragment gdzie dane dość mocno szwankują.