Looping the data along with deliminaters (please find the code below)

I have to read data from the serial port multiple times like
A = fscanf(t)
B = fscanf(t)
C = fscanf(t)
D = fscanf(t)
E = fscanf(t) and so on i had to do it manually. so i tried the code below for making it simple, and also i have deliminaters for example M and L
n = 10000;
% while loop execution
while( n < 10000 )
A= fscanf(t);
end
but it is not working could any one please help me with the same

3 comentarios

Can I use while or for loop to get all the data in one vector?
Do you know how many sets of data you're going to get? If so, yes it is possible to use a for loop. If not, a while loop is likely a better option.
I dont know how many sets of data I am going to get, but i know where the data starts and ends. how can i use a while loop?

Iniciar sesión para comentar.

Respuestas (1)

Bob Thompson
Bob Thompson el 19 de Feb. de 2019
Editada: Bob Thompson el 19 de Feb. de 2019
You were on the right track with your loop that you had already, the biggest thing would be to add an index.
i = 0; % Initalize your index
while n < 10000; % Loop break condition
i = i+1; % Change index to next value
A(i) = fscanf(t); % Record data to index
n = ... % You need to define n. How will you break your loop? Check for end of data set maybe?
end

3 comentarios

I have made some possible changes and tried the code below:
i = 0;
n = 0;
while n < 10000
i = i+1;
A(i) = fscanf(t);
if strfind(A(i), '|') %End delim
break
end
end
but it says "Unable to perform assignment because the indices on the left side are not compatible with the size of the right side."
Is there any possible way that i can change the vector itself like A,B,C,D....to save the ans?
@Rakesh Yadav Kodari: the default format for fscanf for serial objects is '%c'. As far as I can tell, this means that you could easily have multiple characters. Multiple characters cannot be allocated to one element of a char/numeric array. You could easily use a cell array, or check the size of the output before allocating to the array, or perhaps you just need to specify the format string to convert the data to numeric: which of these you need depends on your data and your algorithm, which you have not told us about.

Iniciar sesión para comentar.

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Preguntada:

el 19 de Feb. de 2019

Comentada:

el 20 de Feb. de 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by