Comment lire des données en série correctement par le biais de Matlab

Je suis à l'aide de Matlab pour lire des données à partir d'un port série à venir par l'intermédiaire d'un microprocesseur. Les données sont au format hexadécimal avec chaque échantillon de 4 octets(32 bits). Quand j'ai lu ces données, j'obtiens de séquence aléatoire de numéros qui ne correspondent pas aux données transmises. Ci-dessous mon code

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

S'il vous plaît dites-moi ce que je fais de mal faire ce que je peux obtenir le bon cœur de son.
grâce

Pouvez-vous régler votre microcontrôleur du débit en bauds? Si oui, pourriez-vous essayer avec une baisse de débit? 921600 est assez élevé. 115200 peut-être?
Aussi, avez-vous essayer avec un programme de terminal?
Bien sûr, je vais lui donner un essai. En fait, l'algorithme nécessite de mon UART vitesse assez élevée, c'est pourquoi je l'ai mis à 921600.
Qu'entendez-vous par programme de terminal? Je ne sais pas à ce sujet. Pouvez-vous l'expliquer?
J'ai réalisé que je n'ai pas écrit le freeware programme de terminal. C'est Realterm, dans le cas d'un avenir aux besoins des visiteurs.

OriginalL'auteur Khushboo | 2013-01-09