i am trying to get data from a sensor for a specific time i want to get data n a matrix which updates automatically can anyone help in creating a dynamic matrix

2 Ansichten (letzte 30 Tage)
clc; close all; clear all;
delete(instrfindall);
data=zeros(2000,1)
s = serial ( 'COM3', 'BaudRate', 115200);
fopen(s);
time = clock;
beginTime = time(1, 5);
endTime = beginTime;
while (endTime - beginTime) <= 0 % time elapse
data = fread(s)
time = clock;
endTime = time(1, 5);
end
i want data to update automatically
  4 Kommentare
avinash pabbireddy
avinash pabbireddy am 19 Okt. 2013
i'm able to get the data but only 512*1 matrix and the matrix is updating automatically but the thing is i want the previous values also
dpb
dpb am 19 Okt. 2013
No klew what xbee is, sorry...have to assume whoever is at Answers while they know Matlab they may be is as or even more ignorant of your situation as you may be on Matlab... :)
I presume at a guess perhaps you've initialized data as zeros(512,1) or somesuch is why it "works" as it does?
Would seem you would, then, to save additional data need to have another larger buffer or write to disk or just create as large a buffer as you want, maybe???

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Walter Roberson
Walter Roberson am 11 Mär. 2014
You are overwriting the "data" variable each time through your "while" loop. Either add the incoming data to the end of "data" or else take the just-read "data" and add it to the end of some other variable. Using a cell array might make sense.
Be sure to read the documentation about the conditions under which an fread() is considered to be satisfied. With the configuration you have given, fread() is going to keep going until the device gives an error or until the default buffer is filled up (however big that is.)

Kategorien

Mehr zu Entering Commands finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by