FTDI i czekanie na ilość bajtów

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.
Duch__
Posty: 9
Rejestracja: 25 paź 2010 01:08
Wersja środowiska: LabVIEW 8.5
Lokalizacja: Opole
Kontakt:

FTDI i czekanie na ilość bajtów

Post autor: Duch__ »

Na wstępie się przywitam, gdyż jest to mój pierwszy post na tym forum.
Tak więc WITAM.
Mam na imię Tomek, studiuję na Politechnice Opolskiej. Hobbystycznie zajmuje się elektroniką. Od około tygodnia zacząłem wchłaniać tajniki LABVIEW.

Obecnie tworzę projekt na zaliczenie, który ma za zadanie komunikować się z procesorem Atmega8. Procesor co około 750ms wysyła dane do komputera (ta wartość może się zmieniać w zależności od ustawień procesora od 100-750ms). Jako konwerter USB-RS232 wykorzystałem popularny FTDI FT232. Procesor wysyła 10 pomiarów, co stanowi dokładnie 53bajty danych na jedną transmisję. Problem polega na tym że nie umiem tak poukładać bloczków żeby LAB VIEW sam liczył czy odebrano dokładnie 53 bajty. Na razie mam czas oczekiwania wpisany na sztywno, co powoduje że aplikacja odbiera i wyświetla dane przez około 10 sekund dobrze, a przez kolejne 10 sekund źle, bo gubi tą ustawioną na sztywno "synchronizację". Jak to poprawić?

Za wszelkie wskazówki dotyczące mojego VI, z góry dziękuję.
Załączniki
Obsluga ftdi.rar
(165.03 KiB) Pobrany 210 razy
bogdani
Administrator
Posty: 1315
Rejestracja: 30 lip 2003 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Ruda Śląska
Kontakt:

FTDI i czekanie na ilość bajtów

Post autor: bogdani »

Witaj na forum.

Kilka rad na początek, poprzeglądaj sobie jak w LabVIEW wygląda komunikacja z innymi urządzeniami - zwykle programik ma pętlę, w której jest zapis i odczyt.
U ciebie może to wyglądać bardzo podobnie.
Odczytujesz sobie dane w pętli np. While, która się wykonuje aż długość Stringa nie będzie = 53.
Do zapamiętywania Stringa możesz użyć Shift Registera.

Jeszcze jedno, w LabVIEW przepływ danych determinuje które funkcje się najpierw wykonają.
Dlatego, nie potrzeba używać struktury typu Sequence jeśli między kolejnymi ramkami i tak jest przepływ danych, który determinuje kolejność wykonywania funkcji.

bogdani
Ktoś ci pomógł na forum? Podziękuj dając pochwałę.

Obrazek Obrazek Obrazek
Duch__
Posty: 9
Rejestracja: 25 paź 2010 01:08
Wersja środowiska: LabVIEW 8.5
Lokalizacja: Opole
Kontakt:

Re: FTDI i czekanie na ilość bajtów

Post autor: Duch__ »

Właśnie z tego co widzę to obsługa FTDI w labview jest w internecie bardzo skromnie opisana, a moje poruszanie się po tym oprogramowaniu jest takie bardziej po omacku na obecną chwilę... Mam nadzieję że se poradzę jakoś w tym temacie. Dzięki za odpowiedź.
bogdani
Administrator
Posty: 1315
Rejestracja: 30 lip 2003 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Ruda Śląska
Kontakt:

FTDI i czekanie na ilość bajtów

Post autor: bogdani »

Poprzeglądaj przykłady dostarczone z LabVIEW. W szczególności komunikację szeregową - Serial read and write - VISA, itd.
Na pewno zauważysz analogię do używanych przez ciebie funkcji.

Przykłady znajdziesz w przez okno powitalne LabVIEW - Find examples.
Ktoś ci pomógł na forum? Podziękuj dając pochwałę.

Obrazek Obrazek Obrazek
Duch__
Posty: 9
Rejestracja: 25 paź 2010 01:08
Wersja środowiska: LabVIEW 8.5
Lokalizacja: Opole
Kontakt:

Re: FTDI i czekanie na ilość bajtów

Post autor: Duch__ »

Dla wszystkich tych co borykają się z podobnym problemem liczenia ilości danych polecam ten pliczek:

http://www.fizyka.umk.pl/~ptarg/labview ... ty_visa.vi
ODPOWIEDZ