[uC + LabView] Problem z monitorem szeregowym

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.
danti
Posty: 1
Rejestracja: 09 lis 2014 00:49
Wersja środowiska: LabVIEW 2014

[uC + LabView] Problem z monitorem szeregowym

Post autor: danti »

Dzień dobry,
jestem w trakcie przygotowywania prostego "analizatora stanów logicznych" opartego na uC oraz Labview. uC mierzy w trybie ciągłym napięcie (wynik w postaci kilku 1-3 bajtów danych oraz 1 bajtu stopu) i przy każdym pomiarze wysyła wynik za pośrednictwem RS232 do komputera. Labview ma za zadanie odczytywać wartości oraz rysować przebiegi napięć w czasie.
Niestety mam problem z odczytem danych. Oparłem się na przykładzie "Contionous Serial Write and Read" który delikatnie zmodyfikowałem (pousuwałem kilka niepotrzebnych dla mnie warunków logicznych, oraz staram się przerobić string na dec). Problem polega na tym, że odczyt wykonuje się 2-3 razy a następnie się "zamraża". Szczerze mówiąc nie wiem co można z tym zrobić. Podejrzewam że może to wynikać ze zmiennej długości ramki danych. W załączniku umieściłem "mój" kod.
Mam nadzieję że ktoś mi pomoże :(
Pozdrawiam
Dawid
Załączniki
Atmega ASL.vi
(45.05 KiB) Pobrany 341 razy
bogdani
Administrator
Posty: 1315
Rejestracja: 30 lip 2003 00:00
Wersja środowiska: LabVIEW 2015
Lokalizacja: Ruda Śląska
Kontakt:

[uC + LabView] Problem z monitorem szeregowym

Post autor: bogdani »

Witaj

Po pierwsze, skoro to temat dotyczący LabVIEW, to czemu piszesz w dziale LabWindows/CVI? Tym razem przeniosą nie usunę :-)

Nie wiem jakie dane lecą dokładnie, ale masz ustawiony licznik, wg którego dane są odczytywane (read count). Zatem funkcja VISA Read czeka, aż żądana liczba znaków znajdzie się w buforze.

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

Obrazek Obrazek Obrazek
Awatar użytkownika
J.Sz
Posty: 34
Rejestracja: 09 sty 2014 11:31
Wersja środowiska: LabVIEW 2014
Lokalizacja: Gliwice

[uC + LabView] Problem z monitorem szeregowym

Post autor: J.Sz »

bogdani ma rację. Zamiast ustawiać na sztywno liczbę bajtów do oczytu skorzystaj z property node: http://zone.ni.com/reference/en-XX/help ... rial_port/
Znajdziesz go w palecie VISA>> Advanced >> Visa property node.

Co do przetwarzania ramek podrzuć jakieś przykładowe.
Myslę że w palecie string >> number/string conversion na pewno znajdziesz coś dla siebie.
Ja tu tylko wklejam linki ale i tak możesz kliknąć pochwal ;)
ODPOWIEDZ