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?
Wydzielenie bitów i ich połączenie
- 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
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.
-
- Posty: 110
- Rejestracja: 18 sty 2006 00:00
- Wersja środowiska: LabVIEW 2010
- Lokalizacja: Bydgoszcz
Re: Wydzielenie bitów i ich połączenie
Albo standardowe operacje bitowe z palety Boolean + funkcja Logical Shift z palety Numeric>Data Manipulation - to jeśli mikrokontrolery są Ci bliskie.
smiglo
Re: Wydzielenie bitów i ich połączenie
Dzięki wielkie za podpowiedź.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.
Owszem śmiglo są mi bliskie nawet bardzo, ale już zastosowałem funkcje LV ;). Także w załączniku przesyłam rozwiązanie w VI ;).smiglo pisze:Albo standardowe operacje bitowe z palety Boolean + funkcja Logical Shift z palety Numeric>Data Manipulation - to jeśli mikrokontrolery są Ci bliskie.
- Załączniki
-
- Split bytes (2x8b to 1x12b).vi
- (12.56 KiB) Pobrany 302 razy
- 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
Ale się kolega napracował... a można skorzystać z funkcji Split Array.
Re: Wydzielenie bitów i ich połączenie
Faktycznie... No ale coż, zrobiłem jak potrafiłem i działa .Pitol pisze:można skorzystać z funkcji Split Array