Looping the data along with deliminaters (please find the code below)
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
Rakesh Yadav Kodari
le 19 Fév 2019
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.
Rakesh Yadav Kodari
le 19 Fév 2019
Réponses (1)
Bob Thompson
le 19 Fév 2019
Modifié(e) : Bob Thompson
le 19 Fév 2019
0 votes
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
Rakesh Yadav Kodari
le 20 Fév 2019
Rakesh Yadav Kodari
le 20 Fév 2019
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.
Catégories
En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!