Задумался вот над каким вопросом, как более менее изящно решить следующую задачу.
Из COM2-порта читаются байты по 6 бит. RCVD=fread(s,4); Для простоты рассмотрена последовательность из 4 байт.
Предположим, что получено Rcvd=[65,47,23,10]
Далее можно увидеть данные в бинарном виде
Bin_Mat=dec2bin(Rcvd);
111111 101111 010111 001010
Затем эти биты выстраиваются в одну строчку BitStream=reshape(Bin_Mat',1,24)
BitStream =
111111101111010111001010
В результате получается строка, где единички и нолики представлены символами. Задача, каждый этот символ преобразовать в число. Чтобы в результате получилась матрицы чисел - единиц и нулей. Как это сделать? Вариант с циклом for i=1:24 data_3(i)=bin2dec(BitStream(i)); end не предлагать.
--------------------
Because it's there
|