segregacja odebranych danych rs232

Jeśli masz coś do powiedzenia w sprawie LabVIEW napisz. Tutaj są tematy, których nie można uściślić do innych działów.
opaluch
Posty: 1
Rejestracja: 19 lip 2009 22:32
Kontakt:

segregacja odebranych danych rs232

Post autor: opaluch »

Witam
Czy ktoś mógłby pomóc. Zbudowałem urządzenie odbierające dane z RS232.
W jaki sposób mogę odbierać i dzielić dane z portu. Wysyłam z kontrolera ciągiem dane współczynnikY enter współczynnikX enter współczynnikY...
Potrzebuję wyłuskać osobno dane Y i X które są wysyłane ciągiem.

Myślałem by użyć funkcji "termination char", ale w tym języku jestem początkującym i nie wiem jak.
opaluch
Awatar użytkownika
coolfon
Posty: 232
Rejestracja: 01 gru 2007 08:59
Wersja środowiska: LabVIEW 2009
Kontakt:

segregacja odebranych danych rs232

Post autor: coolfon »

Na samym początku proponuję zmienić format wysyłanego ciągu danych. Zamiast dzielenia wartości enterami, przed współczynnikX daj 'x', a przed współczynnikY daj 'y'. Bez tego możesz mieć problem, bo nie bardzo będziesz mógł rozpoznać która wartość to X a która Y (nigdy nie wiadomo jak 'wstrzelisz' się z odczytem). No chyba że taka zamiana jest Ci obojętna.

Na rozdzielanie wartości X i Y sposobów jest wiele. Możesz odczytywać z portu RS-232 po jednym bajcie, w momencie gdy pojawi się wartość 'x' kolejne bajty zostaną potraktowane jako współczynnikX itd.

Jeśli możesz sobie pozwolić na utratę np co 5 próbki, to możesz od razu odczytywać więcej bajtów z portu (a ile to już zależy od tego jak 'duże' masz te współczynniki) i w takiej paczce szukać 'x' oraz 'y' - współczynniki znajdujące się za nimi lądują w stosownych tabelach (przykładowo...).

Jak możesz to zapisz przykładowy ciąg wartości odczytywanych z RS-232 do pliku txt i wrzuć go tutaj. Pomyślimy wtedy nad rozdzielaniem.
Ostatnio zmieniony 20 lip 2009 01:32 przez coolfon, łącznie zmieniany 1 raz.
Awatar użytkownika
ky3orr
Posty: 149
Rejestracja: 10 gru 2006 00:00
Wersja środowiska: LabVIEW 8.6
Lokalizacja: Siechnice
Kontakt:

Re: segregacja odebranych danych rs232

Post autor: ky3orr »

jeśli dane nie służą do rysowania wykresu on-line może warto przesyłać je większymi pakietami co jakąś chwilę i na te pakiety założyć np. sumę kontrolną na końcu transmisji w celu dodatkowego zabezpieczenie przed błędami (tyle, że jeśli pakiet jest błędny to dane też).

być może mały bufor powiedzmy na kilkadziesiąt znaków, żeby dało się zrobić retransmisję, w razie błędu porównania sumy kontrolnej, zanim zostanie złożony nowy pakiet danych...
KY3ORR

Okablowanie audio / RF -> www.CabLAB.eu
ODPOWIEDZ