MATLAB: How to retrieve original characters from string array/character array after receiving from RS232 serial port

receive data from rs232

Hai, i have to transmitt a 1024X5 char array over RS232, this by using printf statement i transmitted after serial port object has created, now using fscanf–i retrivied data back now i received 1X5121 char–how to get original data like 1024X5 array format? code i gave below
s=serial('com1') set(s,'baud rate',9600); load x .mat —some float values–size 1024X1 double x1=x; x2=unit16(x1);–rounded to 16 bit x3=num2str(x2); fprintf(s,x3) s.bytesavilable; [A count]=fscanf(s) s.valuesreceived
results
Transmitted data x1=x=1024X1 double array, x2=1024X1 unit16, x3=1024X5 char,
Received data
A=1 X 5121 char values received ans=5121
how to get original 1024X5 array?

Best Answer

1024 x 5 = 5120 elements, so there's one too many in your A array. Remove whichever it is:
A(indexofextraelement) = [];
Then reshape your array:
reshape(A, 1024, 5)
Related Question