Strona 1 z 1
Łączenie dwóch zmiennych w jedną
: 03 gru 2011 15:38
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
Łączenie dwóch zmiennych w jedną
: 03 gru 2011 17:01
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.
Łączenie dwóch zmiennych w jedną
: 03 gru 2011 23:06
autor: Framag
A jak np wyświetlić Byte Array? Bo mam z tym problem.
Łączenie dwóch zmiennych w jedną
: 03 gru 2011 23:09
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.
Re: Łączenie dwóch zmiennych w jedną
: 03 gru 2011 23:21
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?
Re: Łączenie dwóch zmiennych w jedną
: 04 gru 2011 15:16
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.