Dzień dobry,
Mógłby mi ktoś po krótce opisać jak obsłużyć odczyt danych w pętli głównej programu z bufora w którym zapisują się dane otrzymane po RS232? Korzystam z programu bufora cyklicznego opisanego w niebieskiej książce mirka.
Dane wysyłam z LabView za pomocą modułu szeregowego. Buforem z LabView wysyłam "różowy" pakiet danych - w LabView jest to string. Dane odbieram w uC Atmega8 przez UART (wiadomo) z wykorzystaniem bufora cyklicznego wspomnianego wcześniej.
Gdy wysyłałem dane z LabView i odczytywałem jeden odebrany bajt (bez żadnego bufora) odczytywało mi zawsze ostatnią liczbę wpisaną w buforze w LabView (po wystawieniu flagi w przerwaniu ISR(USART_RXC_vect) w pętli głównej odczytywało mi mniej znaczący bajt odebrany jako pierwszy, czy dobrze rozumiem?).
Chodzi mi o to by wysłać teraz liczbę z LabView np. 542 - oczywiście nadal stringiem różowym - odczytać ją za pomocą bufora cyklicznego. Wyłuskać z każdego bajtu liczbę oraz skleić ją w int którego będę mógł przekazać do funkcji jako licznik.
Nie do końca rozumiem jak mam użyć funkcji
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
w głównym programie i jak obsłużyć sklejenie tych danych w liczbę int mogącą być wykorzystaną jako licznik do funkcji.
Chyba że ktoś ma prostszy pomysł na odebranie takiego ciągu znaków z LabView (maksymalnie 3 cyfry)?
Pozdrawiam