Я использую Matlab, чтобы прочитать данные из последовательного порта, проникающего через микропроцессор. Данные находятся в шестнадцатеричном формате с каждым образцом 4 байтов (32 бита). Когда я прочитал эти данные, я получаю некоторую случайную последовательность чисел, которые не соответствуют переданным данным. Ниже мой код
s = serial('COM16'); %assigns the object s to serial port
set(s, 'InputBufferSize', 128); %number of bytes in inout buffer
set(s, 'FlowControl', 'none');
set(s, 'BaudRate', 921600);
set(s, 'Parity', 'none');
set(s, 'DataBits', 8);
set(s, 'StopBit', 1);
set(s, 'Timeout',100);
%clc;
disp(get(s,'Name'));
prop(1)=(get(s,'BaudRate'));
prop(2)=(get(s,'DataBits'));
prop(3)=(get(s, 'StopBit'));
prop(4)=(get(s, 'InputBufferSize'));
disp([num2str(prop)]);
fopen(s); %opens the serial port
data = fscanf(s);
fclose(s); %close the serial port
Пожалуйста, скажите мне, что я делаю, неправильно делают это, я могу получить правильный сердечный звук.
спасибо