Wydzielenie bitów i ich połączenie

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
teslabox
Posty: 80
Rejestracja: 24 mar 2010 15:27
Wersja środowiska: LabVIEW 2010

Wydzielenie bitów i ich połączenie

Post autor: teslabox »

Witam wszystkich Forumowiczów!

Dostaję dwie liczby 8-mio bitowe:
1. 00xxxxxx [gdzie: 0 0 b5 b4 b3 b2 b1 b0]
2. 11yyyyyy [gdzie: 1 1 b5 b4 b3 b2 b1 b0]

Potrzebuję wyciąć z nich tylko części znaczące (bez znaczników "00" i "11" na dwóch ostatnich bitach) i połączyć ze sobą w taki sposób, aby otrzymać liczbę 12-to bitową:
xxxxxxyyyyyy [gdzie: b11, b10, b9, b8, b7, b6, b5, b4, b3, b2, b1, b0]
Może ona zawierać na końcu cztery zera (0000), po to aby była konwencyjną 16-to bitową liczbą [0000xxxxxxyyyyyy].

Jak można zrobić to w LV?
Awatar użytkownika
Pitol
Moderator
Posty: 982
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: Wydzielenie bitów i ich połączenie

Post autor: Pitol »

Odpowiedź na Twój problem leży w palecie Numeric -> Conversion. A dokładniej w bloczkach Number To Boolean Array oraz Boolean Array To Number.
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
smiglo
Posty: 110
Rejestracja: 18 sty 2006 00:00
Wersja środowiska: LabVIEW 2010
Lokalizacja: Bydgoszcz

Re: Wydzielenie bitów i ich połączenie

Post autor: smiglo »

Albo standardowe operacje bitowe z palety Boolean + funkcja Logical Shift z palety Numeric>Data Manipulation - to jeśli mikrokontrolery są Ci bliskie.
smiglo
teslabox
Posty: 80
Rejestracja: 24 mar 2010 15:27
Wersja środowiska: LabVIEW 2010

Re: Wydzielenie bitów i ich połączenie

Post autor: teslabox »

Pitol pisze:Odpowiedź na Twój problem leży w palecie Numeric -> Conversion. A dokładniej w bloczkach Number To Boolean Array oraz Boolean Array To Number.
Dzięki wielkie za podpowiedź.
smiglo pisze:Albo standardowe operacje bitowe z palety Boolean + funkcja Logical Shift z palety Numeric>Data Manipulation - to jeśli mikrokontrolery są Ci bliskie.
Owszem śmiglo są mi bliskie nawet bardzo, ale już zastosowałem funkcje LV ;). Także w załączniku przesyłam rozwiązanie w VI ;).
Załączniki
Split bytes (2x8b to 1x12b).vi
(12.56 KiB) Pobrany 302 razy
Awatar użytkownika
Pitol
Moderator
Posty: 982
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: Wydzielenie bitów i ich połączenie

Post autor: Pitol »

Ale się kolega napracował... a można skorzystać z funkcji Split Array.
number.gif
number.gif (4.87 KiB) Przejrzano 5979 razy
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
teslabox
Posty: 80
Rejestracja: 24 mar 2010 15:27
Wersja środowiska: LabVIEW 2010

Re: Wydzielenie bitów i ich połączenie

Post autor: teslabox »

Pitol pisze:można skorzystać z funkcji Split Array
Faktycznie... No ale coż, zrobiłem jak potrafiłem i działa :).
ODPOWIEDZ