Looping the data along with deliminaters (please find the code below)
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Bob Thompson
le 19 Fév 2019
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.
Réponses (1)
Bob Thompson
le 19 Fév 2019
Modifié(e) : Bob Thompson
le 19 Fév 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 commentaires
Stephen23
le 20 Fév 2019
@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.
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!