2015-06-26 4 views
0

Я работаю с серийным Matlab, но мне нужна помощь. В серийном матлабе я прочитал несколько бит, отправленных с одного устройства, и мне нужно взять только несколько бит и не все. «Fread» я прочитал все биты вместе, вместо этого я хотел бы выполнить проверку фона для каждого полученного бита, как и я? Позвольте мне объяснить, у меня есть некоторое количество битов, которое содержится в моем пакете:чтение из serial Matlab

0xAA length payload 

Для того, я хотел бы читать из последовательного 0хАА, если принятый бит равен 0хАА, прочитать длину, и и так далее, но fread читает мне все бит вместе. Как я могу это сделать?

ответ

0

Fread имеет параметр размера, который позволяет установить максимальное количество байтов.

+0

Может быть интересен этот маленький код, который я сделал, проблема заключалась в быстром чтении, потому что впечатление состоит в том, что биты считываются вместе, а читаются поодиночке. СПАСИБО БОЛЬШОЕ. в то время как (истинно) А = Fread (с, 1) , если длина (А) == 1 && A == 170 В = Fread (с, 1, 'uint16'); if (длина (B) == 1 && B == 42) C = fread (s, 2); конец конец –

Смежные вопросы