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
[uC + LabView] Problem z monitorem szeregowym
[uC + LabView] Problem z monitorem szeregowym
- Załączniki
-
- Atmega ASL.vi
- (45.05 KiB) Pobrany 340 razy
-
- Administrator
- Posty: 1315
- Rejestracja: 30 lip 2003 00:00
- Wersja środowiska: LabVIEW 2015
- Lokalizacja: Ruda Śląska
- Kontakt:
[uC + LabView] Problem z monitorem szeregowym
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
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
[uC + LabView] Problem z monitorem szeregowym
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.
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 ;)