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ę.
FTDI i czekanie na ilość bajtów
-
- Posty: 9
- Rejestracja: 25 paź 2010 01:08
- Wersja środowiska: LabVIEW 8.5
- Lokalizacja: Opole
- Kontakt:
FTDI i czekanie na ilość bajtów
- Załączniki
-
- Obsluga ftdi.rar
- (165.03 KiB) Pobrany 210 razy
-
- 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
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
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
-
- Posty: 9
- Rejestracja: 25 paź 2010 01:08
- Wersja środowiska: LabVIEW 8.5
- Lokalizacja: Opole
- Kontakt:
Re: FTDI i czekanie na ilość bajtów
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ź.
-
- 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
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.
Na pewno zauważysz analogię do używanych przez ciebie funkcji.
Przykłady znajdziesz w przez okno powitalne LabVIEW - Find examples.
-
- Posty: 9
- Rejestracja: 25 paź 2010 01:08
- Wersja środowiska: LabVIEW 8.5
- Lokalizacja: Opole
- Kontakt:
Re: FTDI i czekanie na ilość bajtów
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
http://www.fizyka.umk.pl/~ptarg/labview ... ty_visa.vi