Łączenie dwóch zmiennych w jedną

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.
Framag
Posty: 39
Rejestracja: 01 gru 2011 21:39
Wersja środowiska: LabVIEW 2011

Łączenie dwóch zmiennych w jedną

Post autor: Framag »

Witam.
Mam pewien problem, z którym nie potrafię sobie poradzić. Otóż z akcelerometru odbieram liczbę 16bitową. Mikroprocesor ją dzieli na dwie 8bitowe i wysyła po RS232 do Labview. Jak w Labview z powrotem skleić je w jedną liczbę 16bitową?
Z góry wielkie dzięki za pomoc
Awatar użytkownika
Pitol
Moderator
Posty: 987
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Łączenie dwóch zmiennych w jedną

Post autor: Pitol »

A w jaki sposób uC przysyła informacje? Jako znaki ASCII czy w hex? Jeśli ASCII to no problemo, zamieniasz string na liczbę. Jeśli hex to musisz skorzystać z bloczka String To Byte Array i masz już liczbę (dokładniej to tablicę bajtów). Zatem wystarczy odczytać dwa bajty, zamienić na liczbę a następnie skorzystać z bloczka Join czy coś podobnego, gdzieś w palecie Numeric. Nie mam LV pod ręką ale tak to mniej więcej powinno wyglądać. Jeśli się rozejrzysz po forum to były podobne tematy, nawet z kodem odpowiednim chyba.

PS. Nie sądzę, że pracujesz w środowisku Real-Time. Następnym razem umieszczaj posty w odpowiednich działach.
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
Framag
Posty: 39
Rejestracja: 01 gru 2011 21:39
Wersja środowiska: LabVIEW 2011

Łączenie dwóch zmiennych w jedną

Post autor: Framag »

A jak np wyświetlić Byte Array? Bo mam z tym problem.
Awatar użytkownika
Pitol
Moderator
Posty: 987
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Łączenie dwóch zmiennych w jedną

Post autor: Pitol »

Wyświetlić? Klikasz prawym na wyjściu z bloczka String To Byte Array i wybierasz Create Indicator.
Nie wiem ile bajtów na raz odczytujesz z uC ale jeśli po jednym na raz, to wystarczy wyciągnąć pierwszy element tej tablicy (bloczkiem Index Array) i będziesz miał wartość odczytanego bajtu. Jeśli na raz odczytujesz więcej bajtów, to każdy kolejny bajt będzie kolejnym elementem tej tablicy.
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
Framag
Posty: 39
Rejestracja: 01 gru 2011 21:39
Wersja środowiska: LabVIEW 2011

Re: Łączenie dwóch zmiennych w jedną

Post autor: Framag »

Udało się, wielkie dzięki za pomoc:) A jak zatrzaskiwać tą liczbę, żeby się nie zmieniała dopóki nie nadejdzie następna?
AGF
Posty: 109
Rejestracja: 26 lut 2010 13:41
Wersja środowiska: LabVIEW 2010
Lokalizacja: Bydgoszcz

Re: Łączenie dwóch zmiennych w jedną

Post autor: AGF »

Przecież wartość w indykatorze sama się nie zmienia, pozostaje taka sam aż do następnej aktualizacji, widocznie gdzieś w twoim programie zmieniasz tą wartość. Musisz ją zmieniać tylko w przypadku prawidłowego odczytu danych. Proponuje więc użyć jakiegoś warunku i struktury Case.
ODPOWIEDZ