MATLAB: It is a problem of data types

datatype serial portMATLABMATLAB Compiler

i heave this error whit the code, i don´t know why, i suposed is a problem whit the datatype but i don´t know why this is the error: In an assignment A(I) = B, the number of elements in B and I must be the same. Error in ADC_serialPort_K64F_V6 (line 30) v(ctr) = (value_mf); oohh, i use a serial cmunication, 8 bits, when the voltaje is higher than 0 volts, it works, example if a conected 3 volts in the microcontroller adc, it works, but when the voltaje is under the 0 volts or close (i suposed close) it doesn´t work, thank you. this is the code:
while ctr <= i
value_mf = fscanf(Datos,'%d',1) ;
v(ctr) = (value_mf);
v(ctr) = (v(ctr)*3.3/256);
if v(ctr)>3.3
v(ctr) = v(ctr - 1);
end
ctr=ctr+1;
end

Best Answer

  • The problem here is that 'ctr' of v(ctr) is not the same size as whatever the output of 'fscanf' is at that point, so matlab doesn't know how to proceed with the assignment. I am guessing 'ctr' is a scalar quantity and 'fscanf' is outputting something with multiple elements. If so, how is matlab to stuff many elements into a single element?